”
DPU on PYNQ をやってみる3(dpu_mnist_classifier.ipynb をやってみた)”の続き。
前回は、DPU on PYNQ の
dpu_mnist_classifier.ipynb をやってみた。今回は、DPU on PYNQ の
dpu_resnet50.ipynb をやってみよう。
今回は、Pybind11を利用してC ++ DNNDK APIを呼び出す方法をやっていくようだ。
最初に、dpu.bit を Ultra96-V2 の Zynq UltraScale+ MPSoC にダウンロードした。
!dexplorer -w で現在の DPU ステータスを確認した。やはり、コアが 1 個だった。
overlay.load_model("dpu_resnet50_0.elf") で dpu_resnet50_0.elf のモデルをロードした。
画像を確認した。4 つの画像がある。
Jupyter notebook のセルに直接記述した C++ コードを pybind11を使用して自動的にコンパイルできるそうだ。
cflags と ldflags をセットして、
%%pybind11 resnet50;{cflags};{ldflags}
で以下の C++ コードが実行できるようだ。
C++ コードは飛ばすので、後のコードは
dpu_resnet50.ipynb を見て欲しい。
resnet50 を Python モジュールとしてインポートできるようになった。
画像と同じフォルダに、品名が記述されている word.txt ファイルが必要のようだ。
更に、img_floder は / が最後につく必要がある。
画像のディレクトリを見ると、word.txt があった。
word.txt で”bell pepper”を検索した。
- 2020年05月16日 04:23 |
- Ultra96
-
| トラックバック:0
-
| コメント:0