# Jetson Nanoセットアップ ###### tags: `JetsonNano` ## OSインストール [小型 AI コンピュータ NVIDIA Jetson Nano 開発者キットのセットアップ \- Qiita](https://qiita.com/tsutof/items/66e68c75b462c4faf1cb) ## ssh接続 sshはOS焼いた時点で立っているので ホストマシンから `ssh [user name]@[ip]` で接続できる ## Wifi USB adapter インストール http://raspberrypiwiki.com/index.php/Wireless_USB_adapter ## 初回起動時に実行を推奨するコマンド ``` # パッケージ アップデート&アップグレード sudo apt update sudo apt upgrade # Swapファイル生成 git clone https://github.com/JetsonHacksNano/installSwapfile.git ./installSwapfile/installSwapfile.sh ``` ## cmakeインストール `sudo apt install cmake` ## Python ### pipインストール `sudo apt install python3-pip` ### jupyterインストール `sudo pip3 install jupyter` ## Tensorflowインストール https://devtalk.nvidia.com/default/topic/1048776/official-tensorflow-for-jetson-nano-/ ``` sudo apt install libhdf5-serial-dev hdf5-tools sudo apt install zlib1g-dev zip libjpeg8-dev libhdf5-dev sudo pip3 install -U numpy grpcio absl-py py-cpuinfo psutil portpicker six mock requests gast h5py astor termcolor protobuf keras-applications keras-preprocessing wrapt google-pasta sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu==1.14.0+nv19.10 ``` ### 上記の方法で404が出た場合 https://www.space-i.com/post-blog/jetson-nano-%E5%85%AC%E5%BC%8F%E6%89%8B%E9%A0%86%E3%81%A7%E3%81%AEtensorflow-install-error%E3%80%81%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB-whl%E3%81%AB%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88/ ## dlibのインストール https://devtalk.nvidia.com/default/topic/1049660/jetson-nano/issues-with-dlib-library/post/5336330/#5336330 ``` wget http://dlib.net/files/dlib-19.18.tar.bz2 tar jxvf dlib-19.18.tar.bz2 vi dlib/cuda/cudnn_dlibapi.cpp dnn_prefer_fastest_algorithms()?CUDNN_CONVOLUTION_FWD_PREFER_FASTEST:CUDNN_CONVOLUTION_FWD_NO_WORKSPACE, std::numeric_limits<size_t>::max(), &forward_best_algo)); - forward_algo = forward_best_algo; + //forward_algo = forward_best_algo; CHECK_CUDNN(cudnnGetConvolutionForwardWorkspaceSize( context(), descriptor(data), mkdir build cd build cmake .. cmake --build . sudo python3 setup.py install ``` ## Darknetインストール (YOLOv3) https://www.nakasha.co.jp/future/ai/vol2_yolov3nvidia_jetson_nano.html ### CUDAのパス追加 `vi ~/.bashrc` 以下追記 ``` export PATH=/usr/local/cuda/bin:${PATH} export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH} source ~/.bashrc ``` ### Darknet clone ``` git clone https://github.com/AlexeyAB/darknet darknet cd darknet ``` ### 学習済モデルダウンロード https://www.nakasha.co.jp/future/ai/yolov3_pre-trained_model.html ``` // 軽量YOLOV3 wget https://pjreddie.com/media/files/yolov3-tiny.weights ``` ### ビルド ``` vi Makefile GPU,CUDNN,OPENCV,LIBSOを1に変更 Jetson TX1向けのコメントを取る # For Jetson TX1, Tegra X1, DRIVE CX, DRIVE PX - uncomment: ARCH= -gencode arch=compute_53,code=[sm_53,compute_53] make ### 動作確認(USBカメラ) ./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights -c 0 ``` ## スタートアップコマンド 起動時に自動実行したいコマンドは `/etc/rc.local` に追記する。 存在しない場合は作成する。 権限に ux を付与する。 ``` cd /etc sudo touch rc.local sudo chmod u+x rc.local ``` ### rc.local サンプル #### 起動時に実行を推奨するコマンド ``` #!/bin/sh # 冷却ファンON echo 255 | sudo tee /sys/devices/pwm-fan/target_pwm # パフォーマンス最大化 sudo jetson_clocks ```