FC2カウンター FPGAの部屋 2020年05月26日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

finn をやってみる2(Jupyter Notebook)

日曜日から微熱がでてしまい、体がだるくなっている。月曜日も仕事をお休みした。今日、火曜日も休暇を取る予定だ。

finn をやってみる1(インストール)”の続き。

前回は、Docker を使って finn のインストールを行い、Jupyter Notebook を起動した。今回は、Jupyter Notebook でサンプルをやってみよう。

basics の 0_how_to_work_with_onnx.ipynb をやってみよう。
まずは、シンプルな onnx モデルを作成する。モデルを図にするとこんな感じになる。
finn_9_200526.png,

onnx の Operator Schemas を見てみよう。ここには、Add, Abs, Round の説明がある。

0_how_to_work_with_onnx.ipynb の画面を引用する。
finn_7_200526.png
finn_8_200526.png

入力と出力のテンソル情報を設定している。データ型は float だ。

グラフを作成する。中間ノードを定義する。
onnx.save でセーブできるし、onnx.load でロードできる。
finn_10_200526.png

モデルを可視化するには netron を使用できる。
finn_11_200526.png

期待値を求めるために numpy をインポートして、expected_output 関数を定義する。
入力はランダムな値を入力する。モデルに渡す入力は dictionary 型で渡す必要があるので、それにまとめる。
finn_12_200526.png

onnxruntime でモデルを実行して計算する。
.InferenceSession 関数がモデルのセッションを作成して、 .run がモデルを実行する。
finn_13_200526.png

な、なんと、Round はバージョン 10 には無いって言われてしまった。
インストールされている onnx のバージョンは 10 なのかな?
Round はバージョン 11 からと書いてある。どうしようか?他のオペレーターにするか、もしくは onnx バージョン 11 のインストールを考える。
  1. 2020年05月26日 07:39 |
  2. finn
  3. | トラックバック:0
  4. | コメント:0