SDK に関する質問 - DigitalMediaProfessionals/dv-sdk GitHub Wiki
- どのようにシステムにログインしますか(ユーザ名・パスワード)?
- ホストPC 上でアプリケーションやドライバをクロスコンパイルできますか?
- AI プロセッサは入出力バッファにどのようなレイアウトを使いますか?
- ネットワーク変換ツールを実行したら ModuleNotFoundError: No module named 'google' のメッセージが表示されました。
- AI プロセッサの動作周波数を変更したいです
- 温度はどうやって取得しますか?
- 電力はどうやって取得しますか
- OpenCV を使って描画できますか? / 他の描画API は使えますか? / X window を使いたい
- TensorFlow のサポートについて
- どうやって自分でカーネルをビルドしますか?
デフォルトユーザ名: ubuntu
デフォルトパスワード: ubuntu
可能です。詳細はこの節 をご覧ください。
注: DMP はクロスコンパイルツールでのビルドをサポートしていません。
畳み込みブロックにはDWHC レイアウトが使われます。 全結合ブロックには一次元配列が使われます。 詳しくはネットワークの入出力レイアウト をご覧ください。
ネットワーク変換ツールが必要の数個のパッケージがインストールされていませんでした。ボードがインターネットに接続できるなら下記のコマンドで必要のパッケージをインストールできます:
$ sudo apt install python3-protobuf python3-h5py python3-jinja2
ボードがインターネットに接続できない場合はこのページの手順を従ってSDKイメージを最新版に更新してください。
ZIA C3 におけるzia-firmware-c3-emmc/zia-firmware-c3-sd のバージョン7.1.20190410 では、dv-sdk のset_ai_freq.sh スクリプト で動作周波数を変更できます。<freq> には希望の動作周波数(MHz) をお入れください。
$ cd dv-sdk/utils/scripts
$ bash set_ai_freq.sh <freq>
なお、動作周波数を100 MHz より上げる場合には、熱対策のためFAN 取付方法を参考にしてFAN を取り付けてください。
ZIA C3 では、温度センサのカーネルモジュール をmake && sudo insmod zia_c3_temp_mon.ko
でビルド・インストールして、温度取得スクリプト を実行してください。各電源ドメインの説明についてはXilinx Documentation ug1085 - Zynq UltraScale+ Device Technical Reference Manual をご参照ください。
ZIA C2 では、温度センサのカーネルモジュール をmake && sudo insmod zia_c2_temp_mon.ko
でビルド・インストールして、cat /sys/class/hwmon/hwmon1/temp1_input
で温度を取得できます。
lm-sensors
をご利用ください。
描画のオーバーヘッドを減らすために、DV SDK のデモアプリケーションはAGG という描画ライブラリで直接フレームバッファーに描画します。でも他の描画フレームワーク、たとえばOpenCV、Qt やGTK も使えます。それらのフレームワークはX server に接続するのでまずX window をインストールしてください。下記のコマンドでX window とlightdm というウインドーマネージャーをインストールできます。
$ sudo apt-get update
$ sudo apt-get install lightdm
$ sudo apt-get install xubuntu-desktop
そして下記のコマンドでX window のGUI を立ち上げます。
$ sudo mv /dev/dri /dev/dri.bak
$ sudo service lightdm start
最初のコマンドはXilinx DRI のドライバ問題を回避するためのコマンドです。この二つのコマンドはAI モジュールが再起動したらもう一度実行してください。
もし起動時に自動的にGUI を立ち上げたい場合、下記のステップを実行したら再起動してくだい。
-
/lib/systemd/system/lightdm.service
のファイルを編集します。下記の行を$ sudo nano /lib/systemd/system/lightdm.service
ExecStart=/usr/sbin/lightdm
の行の前に追加してください。ExecStartPre=/bin/bash -c 'if [ -d "/dev/dri" ]; then mv /dev/dri /dev/dri.bak; fi'
- 下記のコマンドで起動時の動作モードをGUI に変更します。
(元の文字モードに戻したい場合は下記のコマンドです。)
$ sudo systemctl set-default graphical.target
$ sudo systemctl set-default multi-user.target
X window のGUI を立ち上げできたら、ユーザーの好きのフレームワークを各自にインストール、実行すれば自由にそれらのフレームワークを使って描画アプリを作れます。
TensorFlow-サポートのページを参照してください。
以下の手順はAI FPGA モジュール上のビルド手順になります。ホストPC からクロスコンパイルも可能ですが、ここでは詳しく記述しません。
- まずはSDKの更新とDMPの新パッケージのインストールのページを参照して
zia-kernel-source-c3
のパッケージをインストールしてください。その後現在のディレクトリを~/kernel/source/
に変更してください。 - (必要があれば)ビルドする前にカーネルのコンフィグを変更します。
$ make menuconfig
- カーネルイメージをビルドします。
$ make Image.gz
-
image.its ファイルをダウンロードして、カーネルのルートディレクトリに置いてください。そして下記のコマンドでブート用の
image.ub
イメージファイルを作ります。$ mkimage -f image.its image.ub
mkimage
のツールはu-boot-tools
のAPT パッケージをインストールすれば取得できます。 -
image.ub
を/media/card/
にコピーして、AI FPGA モジュールを再起動すると新しいカーネルイメージを使用できます。