ハードウェア
SIGNATEの第4回AIエッジコンペに参加したので、そのレポートもかねたログを書こうと思う。機械学習だけじゃなくて、ハードウェアもガチのコンペでした。 目次 1.ネットワークについて 2.C++のアプリケーションコードの工夫について 3.ハードウェアプラットフ…
アプリケーション作成時にDPU対応、非対応の最終層sigmoidとsoftmaxをUnetで使う方法の備忘録。 目次 1.Unetで最終層(活性化関数=activation)がsigmoidのとき 2.Unetで最終層(活性化関数=activation)がsoftmaxのとき 3.追記:SeparableConv2Dでもsoftmaxを使…
今回はultra96v2上で学習済みモデルを動かしてみる。この作業がすんなりできれば、論理回路の高位合成とか組み込み部分を除けば、学習済みモデルを作れればドローン制御、自動運転の制御とかいろんなことの礎になる。本家サイト「Ultra96V2向けVitis AI(2019…
ubuntuでSDカードのパーティション作成のメモ目次 1.ubuntuをmacにインストールする 2. ubuntuを起動、SDカードの確認 3.パーティションの作成 4.GUIでパーテイションの内訳を確認してみる 追記.Ffrom CUI 1.ubuntuをmacにインストールする1.USBカードを差し…
「手押し井戸ポンプ」は、昔から田舎で使われてる「井戸から手動で水をくむポンプ」のこと(Amazonでも売ってる)。「手押し井戸ポンプ」の水をくむまでの大まかな動作は「押す(down)=>水をくむ(push pump)=>あげる(up)」の行動パターンを、シーソーのご…
今回はArduinoに機械学習(AI)を埋め込んで、webカメラから読み込んだストリーミング画像の画像分類結果からカギを解錠・施錠できるシステムを作ってみた。機械学習(AI)をハードウェアで実際に取り込んで作ったのはVitis AI以来、今回がはじめて。Arduino系…
ArduinoとPCとの情報のやりとりはシリアル通信でする。このサイトを参考にした。深層学習(DNN)にはシリアル通信は必須なので、やり方とデモもかねて動かしたコードをまとめていく。目次 1.Arduino Unoのシリアル通信の設定 2.Arduino UnoからPCへのデータ送…
ラズパイの一種、「Arduino UNO」の基本的な動作をさせる際のコード集(個人的メモ)。・Arduinoを動作させるまでの環境設定 ・MacにUSBを使ってUbuntuをインストールする方法も簡単に書いた。 目次 1.LEDを点滅させる 2.LEDをだんだん明るくさせる 3.Arduin…
前回作った行列乗算IPのXSAファイルを使って、ultra96v2の実機上で動かしてみた。udmabufとAXI DMA転送を行うことで、行列乗算IPをハード側のプログラムに直接組み込むことができる。これを使えばDNN(Yolov3とか)などの高速化のテクニックにも使える。udmabu…
VirtualbBox内でwebカメラを使って動画をスクリーミングしてみた。 またそのストリーミング動画を使ってyolov3のreal-timeの物体検出をやってみようとした。 けど、cudaのインストールが必要らしく、VirtualBox内ではcuda(とマッチするnvdiaドライバー)が…
ultra96v2でyolov3の高速化をする必要が出てきたので、今回はそのコアになる浮動小数点行列乗算をvivadoで作成してハードウェア(XSAファイル)として出力するまでの流れをまとめた。yolov3高速化の詳細はこちらに簡単に乗ってる。ちなみにテストベンチのシュ…
前の記事「Vitis,Petalinuxのインストールから、Vivadoの起動まで【FPGA】-VitisPlatform作りpart2」でVivado, vitis, Petalinuxの環境構築をした。 PetaLinuxの環境構築をしておくことで、linux(PetaLinux)上から直接、ultra96ボードにアクセスできるらしい…
今回は・Vitisプラットフォーム(Vitis IDE)でultra96向けプラットフォームを作成・ultra96v2で実際に動作確認するところまでやってみたいと思う。本家サイトのラストの部分まで。 今回のpart4でこの部分ができる。 目次 1.ultra96向けプラットフォームの作成…
前回の続編のpart3。Vivadoでultra96のデザインブロックとかXSAファイルを作成した後、PetaLinuxでVitisプラットフォーム(vitis IDE)立ち上げまでやっていく。part3の作業で完了するのは「vitis IDE」構築のvitisの部分。 メインでにやること・ultra96の動作…
今回はVitisPlatfrom構築に必要な「Vitis、Petalinux、その他関連ツール」のインストール。 「Ultra96の開発環境(Vitis2019.2版)」をメインに参考にした。 Vitisプラットフォーム(vitis IDE)はVivado起動後に、「Ultra96用Vitisプラットフォームの作り方(BA…
・1.ultra96-v2動作に必要なもの 「はじめてのUltra96 必要なもの」によると、Ultra96-v2に必要なものは、買った付属品以外に、 ・「Vitisプラットフォーム(vitis IDE)」という開発環境の構築・環境構築用OS ubuntuが必要らしい。 ・2.まず自分がやること Ul…
AIをカメラとかのハードウェア上で動かすために、ラズパイと同じFPGA(Field Programmable Gate Array)のUltra96-v2を購入した。目的はハードでAIを使いたいから(≒ヒロアカのハイエンド脳無に惚れたから)。 FPGAでAIを動かすために必要な作業は下の図のよ…