#FPGAでAIをやってみよう。
世の中、AIブーム。AIに興味がある人、やってみようと思っている方は多いみたいです。
FPGAでAIをやらせよう、、ということも話題になっています。
しかし、どっから始めたらいいのか、、わからないことも多いです。
このAI EDGEに挑戦シリーズでは、Ultra96という、安価なFPGAボードをベースにして、
AIを使って、どんなことができるかをご紹介していきたいと思います。
各記事は、準備ができ次第、公開していきます。
#この記事の目標
もっと、身近にFPGAをを目標に、AIを気軽に使ってもらうことにあります。
はじめてFPGAを使う方、FPGAに興味のある方から、
実際に高度に細かく操作をする方法まで、ご紹介します。
パソコンもWindows、Ubuntuの両方に対応しています。
#Vitis AIを使った、AIの実施の流れ。
XILINX 社は、FPGAメーカの一つです。
そこが開発した、AIツールにVits AIがあります。
ここで、Vitis AIを使った、かんたんな開発の流れをご紹介します。
FPGAでのAIの実現の流れは上記図のようになります。(Vitis AIの場合)
まず、学習をパソコンで行います。ここは、Tensorflow Caffe PyTorchが使えます。
また、メーカーから予め学習済みデータも使用できます。
学習済みデータは、FPGA用にデータを変換します。
別途、FPGAのIP設計を行い、ハードウェアを含めた部分を用意します。
推論用アプリケーションはFPGAで動かします。
そのため、アプリケーションをそれぞれ作成します。
すべてを一気にするのは大変なので、内容を分けて、順次ご紹介していきます。
##必要な環境
必要なものをご紹介します。順次記事でもご紹介します。
まずは、Ultra96V2は必要なので、購入してしてください。
####ハードウェア
- Ultra96V2
- USB-JTAG/UART pod
- USBケーブル TypeA-microTypeB USB2.0
- USBケーブル TypeA-microTypeB USB3.0
- USBカメラ
- 電源12V2A以上
- [電源変換ケーブル](https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=2AD6-DEK3 "cable change")
使用するパソコンはWindows10とUbuntu18.04LTSでのご紹介になります。以下のツール(無料ツール)を使うことを前提に話を進めていきます。
####Windows10の場合
- WSL2 Windows上で、Linuxを動作させるための仕組み
- Ubuntu18.04 LTS Windows上で、Ubuntuを動かす
- [Docker for Windows]( "Docker for Windows") Windows上でのLinuxコンテナ環境
- MobaXterm 多機能Xターミナル
- TeraTerm ターミナルソフト
- Notepad++ テキストエディタ
- Etcher SDカードイメージを書き込む
####Ubuntu 18.04 LTSの場合
####開発ツール
XILINX社製のAI開発ツールです。
- Vitis 2020.1
- [Petalinux 2020.1] (https://japan.xilinx.com/support/download/index.html/content/xilinx/ja/downloadNav/embedded-design-tools.html)
- Vitis AI
####その他
はじめてのUltra96 必要なもの
はじめてのUltra96 あれば便利なもの
などを参照してください。
#####パソコンについて
AI開発は基本的に、Linux上(Ubuntu)で、動作します。基本的にLinux(Ubuntu)の方が効率よくできます。
しかし、現状のパソコンOSのシェアは、Windows のシェアが約90%、そのうち Windows 10の方が60%を超えるくらいです。 Linux(Ubuntu) のシェアは1.5%程度です。
AIを使うのに、Linux(Ubuntu) を使わないといけないのはハードルが高くなりますので Windows でもできる方法をここでは紹介します。なお、Windows上 で使える Linux(Ubuntu) は使用します。
#掲載記事
####Ultra96v2向けVitis AI のデモ(SDカードイメージ)2020.1版
Ultra96v2向けVitis AI のデモ(SDカードイメージ)2020.1版 (2020年11月4日公開)
まずは、FPGAでAIが動くことを、確認してもらおう、、というこで、
Ultra96V2で動く、Vitis AIのSDカードイメージをご提供します。
####Ultra96v2でVitis AIを使った、MNIST(手書き文字)の実装。
Ultra96v2でVitis AIを使った、MNIST(手書き文字)の実装。(2020年11月15日公開)
MNIST 手書き数字を学習から、推論まで行います。USBカメラからの画像認識も行います。
####Ultra96V2にVitis AI IP(DPU)の実装まで
次回公開予定です。