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です。

    TensorFlowの関数としては、逆に対応していないものをユーザーズマニュアルの「4.注意事項」の章に掲載しています。未対応関数は"tf.placeholder"と"tf.name_scope"になります。先日、かふぇルネに投稿いただいたサンプルコードを拝見しましたが、これらは両方ともご使用されていないと思います。("tf.placeholder_with_default"には対応しています。)

    今回、変換がエラーとなっているのは、先日記載しました通り、線形回帰を変換してもニューラルネットワーク構造にならないためです。現在のe-AIトランスレータはディープラーニング用ツールとしてリリースしていますので、ニューラルネットワーク構造を検出できないものを読み込むとエラーとする動作となっています。

    線形回帰サンプルを現在のe-AIトランスレータで変換するには、サンプルの構造を無理やりニューラルネットワーク構造にするしかないかと思います。無理やりな方法ですのでうまくいくか分かりませんが、一度こちらでも考えてみます。少々お時間をください。

    よろしくお願いいたします。
  • dartsmanさん。こんにちは。
    ご対応ありがとうございます。
    線形回帰ではなくニューラルネットワーク構造である必要があるということは理解できたのですが,どの関数を使用していれば変換可能なのかよく分からなくなってしまい,対応関数という聞き方をしてしまいました。
    以下,私が分かっている範囲で共有させていただきます。

    変換に成功したネットワーク
    gist.github.com/.../e53a70f9e5c3f55852b0
    github.com/.../TensorFlowTest3.py

    変換に失敗したネットワーク
    github.com/.../neural_network_raw.py

    e-AIトランスレータのTips
    ・Configration&Translationで指定するInput Model Locationに日本語が入ると動かない。
    ・Translator Output Locationも日本語が入ると動かない。
    ・C直下などUACが効きそうな場所に出力しようとすると変換に失敗することがある。デスクトップなどが良い。
    ・前回の操作で変換に失敗したあと,frozen_model.pbがロックされていることがある。削除してから変換したほうが良い。

    よろしくお願いいたします。
  • 石川さん、回答が大変遅くなりまして申し訳ありません。
    スタッフのdartsmanです。

    ご連絡いただいた変換に失敗したネットワークなのですが、こちらで以下の方法で試してみたところ変換することができましたのでご連絡いたします。お手数ですが、お試しいただけますでしょうか?

    また、ご指摘いただいたTipsは今後のe-AIトランスレータ ユーザーズマニュアル更新の際に参考とさせていただきます。ご指摘ありがとうございました。

    [変更前のネットワーク]
    github.com/.../neural_network_raw.py

    [変更箇所]
    ・21行目に追加
    import os
    ・102行目以降に追加
    # 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")

    # Retrieve the protobuf graph definition
    graph = tf.get_default_graph()
    input_graph_def = graph.as_graph_def()

    all_nodes = []
    print("Name of all the nodes/operations in the loaded tensorflow model:\n")
    for n in input_graph_def.node:
    all_nodes.append(n.name)
    print(n.name)
    for n in all_nodes:
    if any(i == "gradients" for i in n.split("/")):
    break
    output_node_names = n
    print("Extracted output node name:\n", output_node_names)
    print("Collect output node name:\n",prediction)

    よろしくお願いいたします。
  • かずさん、こんにちは。
    スタッフのdartsmanです。

    e-AIトランスレータでの変換ができない件、その後正しく変換できるようになりましたでしょうか?

    別のお問い合わせの中で、同様にe-AIトランスレータが動作しない問題があり調査していたのですが、この調査の中で、TensorFlowのインストールを複数回行うと
    トランスレータの実行に必要なファイルが欠落するケースがあることが分かりました。

    欠落するファイルは、MSVCP140.dllという名前のファイルで、これは
    以下のパッケージに含まれています。
    [Microsoft Visual C++ 2015 再頒布可能パッケージ]
    www.microsoft.com/.../details.aspx

    このため、もし現在もe-AIトランスレータでの変換が正しく動作していないようでしたら、
    一度、上記パッケージのインストールを行ったうえで再度動作確認をお願いできませんでしょうか?

    よろしくお願いいたします。
  • 石川さん、たびたび申し訳ありません。
    スタッフのdartsmanです。

    変更箇所の説明ですが、投稿したところタブが消えてしまいましたので、

    再度投稿させていただきます。

    [変更前のネットワーク]
    https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/neural_network_raw.py

     [変更箇所]
    ・21行目に追加
    import os
    ・102行目以降に追加

        # 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")

        # Retrieve the protobuf graph definition
        graph = tf.get_default_graph()
        input_graph_def = graph.as_graph_def()

        all_nodes = []
        print("Name of all the nodes/operations in the loaded tensorflow model:\n")
        for n in input_graph_def.node:
            all_nodes.append(n.name)
            print(n.name)
        for n in all_nodes:
            if any(i == "gradients" for i in n.split("/")):
                break
            output_node_names = n
        print("Extracted output node name:\n", output_node_names)   
        print("Collect   output node name:\n",prediction)

     

    よろしくお願いいたします。

  • dartsmanさん,手厚いサポートありがとうございます。
    教えていただいたコードで変換することができました。
    ただ,TensorFlowの勉強不足のため,モデルを保存したあとの処理でe-AIトランスレータの結果が変わるのが理解できませんでした。

    今後ともよろしくお願いいたします。
  • 管理人のAyrです。


    e-Aiのフォーラム開設のスレッドに質問が続く状態になっておりますが今後新規にご質問いただくときはe-Aiのフォーラムの中で新規にスレッドを起こしてください。右上の+Newで新規スレッドが作れます。
  • 初めまして。
    初心者の質問で申し訳ございません。
    e-AIを学習するためにGR-PEACH normalのボードを購入し、e-AIの開発環境(トランスレータ、インポータ)をダウンロードしました。
    e2studioに組み込む手順をマニュアル通りに実施したのですが、TRと書かれたボタンとインポートタブが出てこないため困っています。
    どうすればよろしいのでしょうか。
    またトランスレータを使うにあたってwindowsの32bitのPCでも開発は可能でしょうか。
  • kenten 様

    はじめまして、かふぇルネ管理人のAyrです。

    フォーラムはこちらでOKなのですがこのスレッドはe-Aiの開設の案内になります。
    新規にご質問いただくときはe-Aiのフォーラムの中で新規にスレッドを起こしてください。右上の青い[+New]で新規スレッドが作れます。よろしくお願いいたします。
  • kenkenさん、こんにちは。スタッフのdartsmanです。
    ひとまず、今回はこちらに回答しておきます。

    まずトランスレータですが、windowsの32bitのPCで使用することは出来ません。64bit版のみのサポートとなっております。
    またボタンが出ない件ですが、e2 studioのインストール状態によってボタンが出ないことがあるようです。
    もし、PCを変更されるようでしたら、変更後のPCでボタンが出るかどうか、まずはお試しいただくのが良いかと思います。
    PCを変更されない場合、e2 studioとe-AIトランスレータ/e-AIインポータを一度アンインストールの上、再度インストールいただいてボタンが出るかどうかご確認いただけますか?

    以上、よろしくお願いします。