SDK に関する質問 - DigitalMediaProfessionals/dv-sdk GitHub Wiki

FAQ リスト

  1. どのようにシステムにログインしますか(ユーザ名・パスワード)?
  2. ホストPC 上でアプリケーションやドライバをクロスコンパイルできますか?
  3. AI プロセッサは入出力バッファにどのようなレイアウトを使いますか?
  4. ネットワーク変換ツールを実行したら ModuleNotFoundError: No module named 'google' のメッセージが表示されました。
  5. AI プロセッサの動作周波数を変更したいです
  6. 温度はどうやって取得しますか?
  7. 電力はどうやって取得しますか
  8. OpenCV を使って描画できますか? / 他の描画API は使えますか? / X window を使いたい
  9. TensorFlow のサポートについて
  10. どうやって自分でカーネルをビルドしますか?

どのようにシステムにログインしますか(ユーザ名・パスワード)?

デフォルトユーザ名: ubuntu デフォルトパスワード: ubuntu

ホストPC 上でアプリケーションやドライバをクロスコンパイルできますか?

可能です。詳細はこの節 をご覧ください。
注: DMP はクロスコンパイルツールでのビルドをサポートしていません。

AI プロセッサは入出力バッファにどのようなレイアウトを使いますか?

畳み込みブロックにはDWHC レイアウトが使われます。 全結合ブロックには一次元配列が使われます。 詳しくはネットワークの入出力レイアウト をご覧ください。

ネットワーク変換ツールを実行したら ModuleNotFoundError: No module named 'google' のメッセージが表示されました。

ネットワーク変換ツールが必要の数個のパッケージがインストールされていませんでした。ボードがインターネットに接続できるなら下記のコマンドで必要のパッケージをインストールできます:

$ sudo apt install python3-protobuf python3-h5py python3-jinja2

ボードがインターネットに接続できない場合はこのページの手順を従ってSDKイメージを最新版に更新してください。

AI プロセッサの動作周波数を変更したいです

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 をご利用ください。

OpenCV を使って描画できますか? / 他の描画API は使えますか? / X window を使いたい

描画のオーバーヘッドを減らすために、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 を立ち上げたい場合、下記のステップを実行したら再起動してくだい。

  1. /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'
  2. 下記のコマンドで起動時の動作モードをGUI に変更します。
    $ sudo systemctl set-default graphical.target
    (元の文字モードに戻したい場合は下記のコマンドです。)
    $ sudo systemctl set-default multi-user.target

X window のGUI を立ち上げできたら、ユーザーの好きのフレームワークを各自にインストール、実行すれば自由にそれらのフレームワークを使って描画アプリを作れます。

TensorFlow のサポートについて

TensorFlow-サポートのページを参照してください。

どうやって自分でカーネルをビルドしますか?

以下の手順はAI FPGA モジュール上のビルド手順になります。ホストPC からクロスコンパイルも可能ですが、ここでは詳しく記述しません。

  1. まずはSDKの更新とDMPの新パッケージのインストールのページを参照してzia-kernel-source-c3のパッケージをインストールしてください。その後現在のディレクトリを~/kernel/source/に変更してください。
  2. (必要があれば)ビルドする前にカーネルのコンフィグを変更します。
    $ make menuconfig
  3. カーネルイメージをビルドします。
    $ make Image.gz
  4. image.its ファイルをダウンロードして、カーネルのルートディレクトリに置いてください。そして下記のコマンドでブート用のimage.ub イメージファイルを作ります。
    $ mkimage -f image.its image.ub
    mkimage のツールはu-boot-tools のAPT パッケージをインストールすれば取得できます。
  5. image.ub/media/card/ にコピーして、AI FPGA モジュールを再起動すると新しいカーネルイメージを使用できます。
⚠️ **GitHub.com Fallback** ⚠️