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

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

FPGAの部屋

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

DPU on PYNQ をやってみる2(dpu_inception_v1.ipynb をやってみた)

DPU on PYNQ をやってみる1(PYNQ v2.5 をアップグレード)”の続き。

DPU on PYNQ をやってみようと思う。これは、Vitis AI DPU が含まれている PYNQ プラットフォームということだ。
前回は、 DPU on PYNQ をインストールすることができた。今回は、dpu_inception_v1.ipynb をやってみた。

まずは、dpu_inception_v1.ipynb を起動して、最初の dpu.bit を Ultra96-V2 にダウンロードしようとしたが、root 権限でないとダメと怒られてしまった。
DPU-PYNQ_18_200512.png

DPU-PYNQ_19_200512.png
DPU-PYNQ_20_200512.png

root 権限で jupyter notebook を立ち上げようとしたが、やはり、Ultra96 上の Firefox をホストパソコンに表示するのは重かったので、jupyter notebook をリモートでホストパソコンからブラウザで使用できるようにした。
参考にしたのは、”2019年版 リモートサーバでJupyter Notebookを実行する方法”でそっくりそのままコマンドをいただいてきた。
jupyter notebook --ip=* --no-browser
DPU-PYNQ_21_200512.png

ホストパソコンからは、ブラウザ(Chrome)に Ultra96-V2 の IP アドレス:ポート番号(この場合は 8888)を入れれば jupyter notebook をホストパソコンからリモートで操作することができる。

これを、シェルスクリプト・ファイルにしたのが jup_note.sh だ。 jup_note.sh を示す。

#!/bin/sh

jupyter notebook --ip=* --no-browser


次に、ルート権限で jupyter notebook を起動するのは推奨されていないが以下のコマンドで起動できる。
sudo jupyter notebook --ip=* --no-browser --allow-root
これも同様にシェルスクリプト・ファイルにした。 root_jup_note.sh だ。 root_jup_note.sh を示す。

#!/bin/sh

sudo jupyter notebook --ip=* --no-browser --allow-root


root_jup_note.sh を起動した。
./root_jup_note.sh
ホストパソコンから http://192.168.3.16:9091 でアクセスした。
DPU-PYNQ_22_200512.png

1. Prepare the overlay
今度は dpu.bit をダウンロードすることができた。
DPU-PYNQ_23_200512.png

DPU のステータスを dexplorer を使って確認した。
DPU Core は 1 個だった。動作周波数は 300 MHz
DPU-PYNQ_24_200512.png

load_model() で .elf ファイルをロードする。カーネル名が自動的に解析できるそうだ。

overlay.load_model("dpu_inception_v1_0.elf")


2. Run Python program
説明の Google 翻訳をそのまま引用する。

DNNDKのPython APIを使用してDPUタスクを実行します。この例では、反復回数を500に設定します。つまり、1枚の写真が撮られ、500回分類されます。ユーザーは必要に応じてこの値を調整できます。


first take a picture は犬の写真だった。
DPU-PYNQ_25_200512.png

DPU デバイスを開いて初期化する。

n2cube.dpuOpen()
kernel = n2cube.dpuLoadKernel(KERNEL_CONV)


先程の犬の写真を分類したところ、

Class label: Brabancon griffon

となった。
Brabancon griffon はブラバンソングリフォン という犬の種類だそうだ。近隣種だろうか? ブリュッセル・グリフォンという犬の説明があった。
DPU-PYNQ_26_200512.png

Multiple executions
複数実行してスループットを FPS で示そうということで、複数回実行して、FPS を出す。
結果は 33.25 fps だった。
DPU-PYNQ_27_200512.png

Clean up
最後にカーネルを破棄して DPU をクローズする。
DPU-PYNQ_28_200512.png
  1. 2020年05月13日 05:28 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0