NVIDIA提供のイメージnvcr.io/nvidia/l4t–pytorch:r32.4.4–pth1.6–py3で作ったコンテナにはPython(3.6.9)、Pytorch(1.6.0)、Torchvision(0.7.0)、CUDA、cuDNN がすでに実装されていて便利です。
ただ、OpenCVは実装されていません。追加実装してみます。
OpenCVをビルドしてインストールしますが、CMakeも必要なので一緒にインストールしておきます。
ついでに以下も。
pandas
jupyterlab
準備
プラットフォームはJetson Nanoです。OSイメージはjetpack(4.4.1)。
セットアップはこのページをご参照ください。
Swap領域を6GBほど確保しておきます。
Dockerメージをpullしておきます。
1 |
sudo docker pull nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3 |
適当な名前(my_nvcont)でコンテナを作成
sudo docker create -it --name my_nvcont --gpus all --network host nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3
コンテナを起動
1 |
sudo docker start -i my_nvcont |
アップデート&アップグレード
1 2 3 |
apt update apt upgrade -y python3 -m pip install --upgrade pip |
よく使われるわりに未実装なのでインストール
1 2 |
pip3 install pandas pip3 install jupyterlab |
いくつかパッケージやライブラリをインストールしておきます。
1 2 3 |
apt install curl -y apt install zip -y apt install libssl-dev |
Cmake 3.17.1をインストール
wget https://github.com/Kitware/CMake/releases/download/v3.17.1/cmake-3.17.1.tar.gz
1 2 3 4 5 6 7 |
tar zxvf cmake-3.17.1.tar.gz cd cmake-3.17.1/ ./bootstrap make make install cd ../ |
OpenCV(4.1.2)をインストール
1 2 3 4 5 6 7 8 9 10 11 |
mkdir opencv apt purge *libopencv* apt update apt install -y build-essential git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev apt install -y python3.7-dev python-dev apt install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev apt install -y libv4l-dev v4l-utils qv4l2 v4l2ucp apt update |
1 2 3 4 5 6 7 8 9 |
cd opencv/ curl -L https://github.com/opencv/opencv/archive/4.1.2.zip -o opencv-4.1.2.zip curl -L https://github.com/opencv/opencv_contrib/archive/4.1.2.zip -o opencv_contrib-4.1.2.zip unzip opencv-4.1.2.zip unzip opencv_contrib-4.1.2.zip cd opencv-4.1.2/ mkdir release cd release/ |
cmake -D CUDA_HOST_COMPILER=/usr/bin/gcc-7 -D CUDA_NVCC_FLAGS="--expt-relaxed-constexpr" -D CUDA_VERSION="10000" -DWITH_NVCUVID=OFF -DENABLE_CCACHE=OFF -DEIGEN_INCLUDE_PATH=/usr/include/eigen3 -D HAVE_CUDA=1 -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3" -D CUDA_ARCH_PTX="" -DWITH_FAST_MATH=OFF -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.2/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=ON -DPYTHON3_EXECUTABLE=/usr/bin/python3 -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/ -D WITH_CUBLAS=ON -D LAPACK_LIBRARIES=/usr/lib/aarch64-linux-gnu/libblas.so -D LAPACK_CBLAS_H=/usr/include/aarch64-linux-gnu/cblas.h ..
1 2 |
make -j2 make install |
いらなくなったファイルやフォルダーを整理
1 2 3 4 5 |
rm cmake-3.17.1.tar.gz rm -rf cmake-3.17.1 rm -rf opencv |
Appendix1
コンテナをDockerイメージにする
1 |
sudo docker commit CONTAINER_ID レポジトリ名:タグ名 |
Docker Hub にユーザー登録していて、pushする場合
1 |
sudo docker tag IMAGE_ID ユーザー名/レポジトリ名:タグ名 |
1 2 3 |
sudo docker login sudo docker push ユーザー名/レポジトリ名:タグ名 |
Appendix2
Pytorch、TorchVisionのバージョンアップは
このページの4/4参照
Appendix3
NVIDIA提供のイメージと実装されたライブラリのバージョンなどは
NVIDIA L4T ML や NVIDIA L4T PyTorch 参照
参考までに
各イメージに実装されているTensorFlow のバージョンは1.15 です。
Kerasをインストールする必要がある場合、バージョンは2.2.4を指定します。
1 |
python3 -m pip install keras==2.2.4 |
Leave a Reply