e-AIのフォーラム開設

管理人のAyrです。

お待たせしました。

ルネサスサイトのe-AIツール
https://www.renesas.com/ja-jp/solutions/key-technology/e-ai/tool.html
 の公開を機に、e-AIのフォーラムも開設しました。

e-AIツールの活用方法、課題解決のアイデアなどユーザの皆様と意見交換させて頂き、

e-AIのフォーラムを盛り上げていきたいと考えています。

みなさまの投稿をお待ちしております。

  • かずさん、こんにちは。スタッフのdartsmanです。

    logファイルですが、こちらでも一度内容確認したいと思っています。
    お手数ですが、下記のURLより「開発環境・開発ツールの技術に関する
    お問合せはこちら」をクリックして、お問い合わせフォームからlogファイルを
    送付いただけないでしょうか?
    ※お問い合わせフォームの一番下にファイルを添付して送付する機能があります。

    URL: www.renesas.com/.../contact.html

    お手数をおかけしますが、よろしくお願いします。
  • dartsman さん。

    ありがとうございます。
    お言葉に甘えさせていただき、
    件名「e-AIトランスレータV1.0.0でcaffe_windowsにある学習済みモデルをトランスレートするとエラーが発生する件」にて
    開発環境・開発ツールの技術に関するお問合せにlogファイルを送付させて頂きました。

    恐れ入りますがよろしくお願い致します。
  • かずさん、コンタクトセンタへのご連絡ありがとうございます。
    スタッフのdartsmanです。

    早速いただいたログを確認しました。

    恐らく、もともとPythonの3.5をインストールされていて、3.5に対しては
    Python Packageをインストールされていたのだと思いますが、
    今回、Pythonの3.5.3にアップデートされたので、Pythonの3.5.3に
    対しても、Python Packageのインストールを改めて行っていただくことで
    解決する可能性があると思いました。

    ということで、以下の手順にてPython3.5.3に対してPython Packageのインストールを
    改めて実施お願いします。
    [インストール手順]
    e-AIトランスレータのマニュアル(資料番号:R20UT4135JJ0100)の
    「2.4. Python Packageのインストール」

    お手数をおかけしますが、ご確認のほど、よろしくお願いいたします。
  • お世話になっております。石川と申します。
    TensorFlowの学習済みモデルを使ったe-AIトランスレータでの変換について教えてください。
    (長くなるので2回に分けて投稿します)
    以下のプログラムを作成して実験しています。

    # coding:utf-8
    import tensorflow as tf
    import os
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

    input_x = [[1.],[5.]]
    input_y = [[4.],[2.]]

    x = tf.placeholder_with_default(tf.random_normal([1, 1]), shape=[None, 1])
    y_ = tf.placeholder_with_default(tf.random_normal([1, 1]), shape=[None, 1])

    a = tf.Variable([1.], name="slope")
    b = tf.Variable([0.], name="y-intercept")
    y = tf.multiply(a, x) + b

    init = tf.global_variables_initializer()
    loss = tf.reduce_sum(tf.square(y_ - y))
    train_step = tf.train.GradientDescentOptimizer(0.03).minimize(loss)

    with tf.Session() as sess:
    sess.run(init)
    print('Init.')
    print('ross' + str(sess.run(loss, feed_dict={x: input_x, y_: input_y})))
    print("slope: %f, y-intercept: %f" % (sess.run(a), sess.run(b)))

    # Learning
    for step in range(100):
    sess.run(train_step, feed_dict={x: input_x, y_: input_y})
    if (step+1) % 20 == 0:
    print('\nStep: %s' % (step+1))
    print('ross' + str(sess.run(loss, feed_dict={x: input_x, y_: input_y})))
    print("slope: %f, y-intercept: %f" % (sess.run(a), sess.run(b)))

    # Save
    out_dir = "./tf_model"
    if os.path.isdir(out_dir) is False:
    os.makedirs(out_dir)
    saver = tf.train.Saver()
    saver.save(sess, out_dir+"/tensorflow_model")

    (参考: qiita.com/.../7624b81af498317a0865)
  • (続きです)
    e-AIトランスレータのConfiguration & TranslationウィンドウでInput Shape Dimensionsを「1,1,1,1」に設定し実行したところ,以下のログが出力されました。

    [2017-08-24 17:22:24,627 INFO network_decoder_tensorflow.py:70 - generate_network() ] The tensorflow model is being converted to protobuf format.
    [2017-08-24 17:22:24,745 INFO freeze.py:72 - freeze_graph() ] The model is freezed by considering the output node's name as Sum

    [2017-08-24 17:22:24,749 INFO tf_logging.py:82 - info() ] Restoring parameters from C:\share\e-AI\jiseitai_model\tensorflow_model
    [2017-08-24 17:22:24,769 INFO tf_logging.py:82 - info() ] Froze 2 variables.
    [2017-08-24 17:22:24,801 INFO freeze.py:98 - freeze_graph() ] 24 ops in the final graph.
    [2017-08-24 17:22:24,860 INFO network_decoder.py:85 - __del__() ] Uninitializing and cleaning up network_decoder object..
    [2017-08-24 17:22:24,860 INFO network_decoder_tensorflow.py:124 - __del__() ] Uninitializing and cleaning up tensorflow network_decoder object..


    何か手がかりを教えていただけないでしょうか?
    caffe_windowsにある学習済みモデルの変換は成功しております。
    どうぞよろしくお願いいたします。
  • 石川さん、詳細な情報、ありがとうございます。
    スタッフのdartsmanです。

    いただいた情報から、こちらでも同様の問題が発生することを確認しました。
    大変申し訳ないのですが、解析にもうしばらくお時間をください。
    よろしくお願いいたします。
  • dartsmanさん
    解析ありがとうございます。よろしくお願いいたします。
  • 石川さん、こんにちは。
    スタッフのdartsmanです。

    今回ご質問いただいた件ですが、結論から申し上げますと今回のAIモデルは
    e-AIトランスレータがサポートしていない形式のものでした。
    このため、e-AIトランスレータでの変換は出来ません。
    解析にお時間をいただいた上にこのような結論となり、大変申し訳ありません。

    以下、今回の解析結果です。

    [解析結果]
    e-AIトランスレータが変換に対応しているAIモデルは
    e-AIトランスレータのユーザーズマニュアル(資料番号:R20UT4135)の
    「1.2 変換可能なニューラルネットワークの種類」に記載している通り
    CNN、Auto Encoderといったニューラルネットワークです。

    一方、今回ご連絡いただいたモデルは線形回帰や回帰分析と
    呼ばれるもので、AIモデルの構造はニューラルネットワーク構造となりません。
    このため、e-AIトランスレータでの変換ができませんでした。

    こちらのサイトに、線形回帰とニューラルネットワークの関係を示した
    図がありました。ご参考まで。
    https://camo.qiitausercontent.com/919da5d57341ea9124c0e154f8a5bf70eb1821b6/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f35353338342f62663637626261332d376235382d643663662d313030622d3664326536663037626336302e706e67

  • dartsmanさん,ご報告いただきありがとうございました。tf.multiplyが悪さをしているのかなと思います。もう少し私の方でも検証し,何か分かりましたらご報告させていただきます。よろしくお願いいたします。
  • お世話になっております。石川です。
    対応済み畳み込み層について質問させてください。ユーザーズマニュアルにはConvolution対応と書かれていますが,TensorFlowの関数だと何に対応しているのでしょうか?
    よろしくお願いいたします。