###Jetson NanoでYoloをすぐ利用する
Jetson Download Center でSD Card Imageをダウンロードする
この5GバイトのISOファイルの中にCudaやOpenCv、TensorRTが既にインストールされおり、開発環境を整えずにOSをインストールすればすぐに利用することができます。(パスは設定する必要あり)
インストールされているソフトの中身はここから見ることができます
JetPack
- TensorRT
- cuDNN
- CUDA
- Multimedia API
- Developer Tools
- 他 DeepStrem SDK
###Cudaのパスを設定する
# vimをインストール
sudo apt install vim
$ sudo vim ~/.bashrc
export PATH=/usr/local/cuda/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
#保存する
$ source ~/.bashrc
# 確認する
$ nvcc -V
###Yoloを試してみる
$ sudo apt install git
$ git clone https://github.com/AlexeyAB/darknet.git
$ cd darknet
darknet$ vim Makefile
#GPU CUDNN OEPNCVの設定を有効にする
GPU=1
CUDNN=1
OPENCV=1
darknet$ make
#weightsをダウンロード
$ wget https://pjreddie.com/media/files/yolov3.weights
#Yoloを実行してみる
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
###Cudaに元々あるサンプルプログラムを試してみる
Cudaのフォルダの中に試すようにサンプルファイルがあります。
このファイルをmakeでビルドし、Cudaが実行できるか試せします。
# 既にパスが通った状態でshファイルを実行する samplesのバージョンは確認ください
$ cuda-install-samples-10.0.sh フォルダ名
$ cd フォルダ名/NVIDIA_CUDA-10.0_Samples
$ make
$ cd NVIDIA_CUDA-10.0_Samples/bin/x86_64/linux/release
$ ./deviceQuery
$ ./bandwidthTest
$ ./volumeRender
Jetson RaspberryPi の画面をPCディスプレイに表示させる
###感想
数学の知識が必須で難しいと思われていた機械学習、深層学習もNvidiaが提供してくれるソフトを使えば、関数を叩くだけである程度のことができてしまう。Webプログラマーやスマホアプリ開発者でも参入できる気がしてきました。物体検出を例に取れば、Yoloというソフトがあり、1から独自開発の検出プログラムを書かなくてもライブラリーの関数を組み合わせればできる気がする。Nividiaのライブラリー物体検出、物体分類、骨格検出、映像の配信などがあり、これらを中心に学んでいければ、難しいことをやらなくても、関数を組み合わせていけば開発できるのではないか?仕事にできるのではないか?そういう気がしています。
pythonも環境が整ってきています。Pylance(インテリセンス)やPyright(型指定)を拡張するライブラリーがでてきており、静的言語やる感覚でかけそうな気がします。
PythonとNividaのライブラリを勉強すれば、他業種のプログラマーでも仕事にありつけるかもしれない。
####Jetsonに含まれているソフト群
Jetson実用例 50例以上
Gitソースとビデオと作り方が載っています
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
Pythonを学ぶ際にとても役に立ちました!