おばんでーす。
SDKmanagerからjetpackをインストールするとCUDAが使用できないOpencvがインストールされている。このcudabuildをローカル環境で実施してみたい。
DOCKERを使用すればいいよね、というご意見はごもっとも。だってDOCKERは殆どまだ使えないから。。。
時間を割と割いているが、今後役に立つことを願って、下記に備忘録。
注意点は、
○makefileを作成時にpython 2のパスが表示される可能性があるので、そこはcmake-guiを使用し全て削除。(※cmake-guiの方が編集しやすいので必須と思う。)
○numpyは2.x系では動かない。ターミナルから怒られる。
○buildに30分くらいかかるかな?
○4.5.5以外のバージョンが必要な方はgit checkout 4.5.5 のバージョンを変更してね。(opencv_contribも忘れずに。)
○うまくいかない場合は、他の依存関係が足らないので、工夫してね。
色々なサイトを漁った結果、下記にスクリプトを残す。
※下記のスクリプトはorin nanoではまだうまくいっていない。動作の暁には後日別掲載したい。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
#!/bin/bash
##uninstall opencv
##sudo apt-get --purge remove libopencv*
#update
sudo apt -y update
sudo apt -y upgrade
#install requierd librarlies
# Generic tools:
# Image I/O libs
sudo apt install -y libjpeg-dev libpng-dev libtiff-dev
# Video/Audio Libs - FFMPEG, GSTREAMER, x264 ans so on
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install -y libxvidcore-dev x264 libx264-dev libfaac-dev libmp3lame-dev libtheora-dev
sudo apt install -y libfaac-dev libmp3lame-dev libvorbis-dev libdc1394-dev
#install gtkglext-1.0
sudo apt-get -y install libgtk-3-dev
sudo apt-get -y install mesa-common-dev libglu1-mesa-dev freeglut3-dev
# OpenCore - Adaptive Multi Rate Narrow Band (AMRNB) and Wide Band (AMRWB) speech codec
sudo apt install -y libopencore-amrnb-dev libopencore-amrwb-dev
# Cameras programming interface libs
sudo apt-get install -y libxine2-dev libv4l-dev v4l-utils
sudo ln -s -f ../libv4l1-videodev.h videodev.h
cd ~
# Python libraries for python3:
# check numpy version 1.2x.x not 2.XXX
#sudo apt-get install -y python3-dev python3-pip python3-py python3-pytest
#sudo -H pip3 install -U pip numpy
#sudo apt install -y python3-testresources
# Parallelism library C++ for CPU
sudo apt-get install -y libtbb-dev
# Optimization libraries for OpenCV
sudo apt-get install -y libatlas-base-dev gfortran
# Optional libraries:
sudo apt-get install -y libprotobuf-dev protobuf-compiler
sudo apt-get install -y libgoogle-glog-dev libgflags-dev
#open cv build
mkdir build && cd build
#make suorce code
cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D CMAKE_PYTHON3_EXECUTABLE=/usr/bin/python3.8 \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.8 \
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.8 \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-D WITH_TBB=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D WITH_CUDA=ON \
-D WITH_CUDNN=ON \
-D CUDA_ARCH_BIN=7.2 \
-D CUDA_ARCH_PTX=7.2 \
-D CUDA_GENERATE_CODE="arch=compute_72,code=sm_72" \
-D WITH_ITT=OFF \
-D WITH_GSTREAMER=ON \
-D WITH_OPENNI=ON \
-D INSTALL_C_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.4 \
-D WITH_NVCUVENC=OFF \
..
#Have to delete python2 path all
# build
time make -j$(nproc)
# install all built libs into your system
sudo time make install
sudo ldconfig
インストール後の確認。
ここでpython2のパスが表示されていたら再build、必須。
sudo jtopでご確認を。
では、またこんど!