こんにちは、スタッフのdartsmanです。
e-AI(embedded Artificial Intelligence)用ツール、e-AIトランスレータの
新バージョンV2.0.0を公開しましたのでお知らせいたします。
[e-AIトランスレータ V2.0.0の主な新機能]
・ディープラーニング研究者間で人気急増中のフレームワーク"PyTorch"に対応
・お客様ご要望のあった"TensorFlow"のメジャーバージョンアップに対応
[e-AIトランスレータのダウンロード]
https://www.renesas.com/e-ai-tool
※上記の対応に伴い、Pythonなどインストールが必要なソフトウェアに変更があります。 詳細はユーザーズマニュアルでご確認ください。 また、今バージョンのe-AIトランスレータでは、CaffeやTensorFlowの旧API(tf.nn やtf.layers 等のAPI)を サポートしていません。これらのフレームワークをご使用の方はe-AIトランスレータ V1.6.0をご使用ください。
こんにちは Sugachanceです。
PyTorchに対応したとのことで、単純なXORを通してみようと思ったのですが、入力層の指定の所でうまくいきません。
(1) そもそも次の形式のネットワークは対応していますでしょうか?
class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(2, 8) self.fc2 = nn.Linear(8, 8) self.fc3 = nn.Linear(8, 1) self.sigmoid = nn.Sigmoid()
def forward(self, x): x = nn.functional.relu(self.fc1(x)) x = nn.functional.relu(self.fc2(x)) x = self.fc3(x) x = self.sigmoid(x) return x
(2) (1)がOKの場合、トランスレータの入力層を指定する部分( C,H,Wの形式)はどのように入力すべきでしょうか。2chで画像ではない(縦横はない)ので”2,1,1”かと思ったのですが、入力層のエラーが出ます。
以上、よろしくお願いいたします。
Sugachanceさん、こんにちは。スタッフのDartsmanです。
お問い合わせに気づいておらず、ご返信が大変遅くなってしまいました。
大変申し訳ありませんでした。
お問い合わせの件ですが、以下のようにモデル定義にflattenを足してモデルを作成することで
e-AIトランスレータで変換できるようになります。
この場合、e-AIトランスレータの"Input Shape Dimention"には"2,1,1"を入力します。
class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.flatten = nn.Flatten() self.fc1 = nn.Linear(2, 8) self.fc2 = nn.Linear(8, 8) self.fc3 = nn.Linear(8, 1) self.sigmoid = nn.Sigmoid()
def forward(self, x): x = self.flatten(x) x = nn.functional.relu(self.fc1(x)) x = nn.functional.relu(self.fc2(x)) x = self.fc3(x) x = self.sigmoid(x) return x
今後のバージョンでFlattenを使わなくても変換できるよう改善できないか検討してみます。
※9/30にリリースした新バージョン(V2.1.0)では、まだ改善できておりません。
dartsman様、こんにちは Sugachanceです。
ご回答ありがとうございます。承知いたしました。Flattenを入れて試してみます。
無事に変換できました。ありがとうございました。
ご連絡ありがとうございます。変換出来たようで良かったです。
また何かありましたらご連絡ください。
よろしくお願いいたします。