IoT環境における画像処理・理解技術@静岡

Jetson Nano の設定

■ swapファイルの作成

% sudo apt update
% git clone https://github.com/JetsonHacksNano/installSwapfile
% cd installSwapfile
% ./installSwapfile.sh

■ パフォーマンスの最大化

% sudo apt install -y nano
% sudo nano /etc/rc.local

*** 以下4行を /etc/rc.local に記述する ***
#!/bin/sh -e
sleep 10
sudo /usr/bin/jetson_clocks
exit 0
*** ここまで ***


% sudo chmod +x /etc/rc.local
% sudo reboot

■ bashrc の設定

% nano .bashrc

*** 以下3行を ~/.bashrc の最後に記述する ***
export PATH=${HOME}/bin:/usr/local/cuda/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1:/usr/local/lib/python3.6/dist-packages/scikit_learn.libs/libgomp-d22c30c5.so.1.0.0 # 実際は1行で記述
*** ここまで ***


% source ~/.bashrc

■ Tensorflow のインストール

% sudo apt install -y libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
% sudo apt install -y python3-pip
% sudo -H pip3 install -U pip testresources setuptools==49.6.0
% sudo -H pip3 install -U --no-deps numpy==1.19.4 future==0.18.2 mock==3.0.5 keras_preprocessing==1.1.2 keras_applications==1.0.8 gast==0.4.0 protobuf pybind11 cython pkgconfig
% sudo env H5PY_SETUP_REQUIRES=0 pip3 install -U h5py==3.1.0
% sudo -H pip3 install h5py==3.1.0
% sudo -H pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v46 tensorflow

■ 各種ライブラリのインストール

% sudo -H pip3 install tqdm
% sudo -H pip3 install seaborn
% sudo -H pip3 install scikit-learn
% sudo apt install -y libcanberra-gtk* # opencv 実行時に出る警告への対応

サンプルプログラム

ここからダウンロードして下さい.

■ Tensorflow で必要なだけメモリを確保する

physical_devices = tf.config.list_physical_devices('GPU')
if len(physical_devices) > 0:
for device in physical_devices:
tf.config.experimental.set_memory_growth(device, True)
print('{} memory growth: {}'.format(device, tf.config.experimental.get_memory_growth(device)))
else:
print("Not enough GPU hardware devices available")