1. 버전 정보
ㅤ | xycar | Ubuntu |
ROS | Melodic | Melodic |
CUDA | 10.2 | 10.2 |
OpenCV | 4.5.5 | 4.5.5 |
CuDNN | ㅤ | 8.7.0 |
TensorRT | 8.2.1.8 | 8.2.1.8 |
Python | 3.6 | 3.7 |
scikit-build (PIP) | ㅤ | 0.16.7 |
opencv-python(PIP) | ㅤ | 4.5.5.62 |
torch (PIP) | 1.10.0 | 1.10.0+cu102 |
numpy (PIP) | 1.19.4 | 1.19.5 |
protobuf (PIP) | ㅤ | 3.19.6 |
onnx (PIP) | 1.9.0 | 1.9.0 |
onnxruntime (PIP) | ㅤ | 1.10.0 |
pycuda (PIP) | 2020.1 | 2020.1 |
PyYAML (PIP) | 6.0 | 6.0 |
tensorrt (PIP) | 8.2.1.8 | 8.2.1.8 |
2. CUDA 설치
- dev(local) 옵션으로 선택한다
- 안내해주는 명령어에 따라서 설치한다
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub sudo apt-get update sudo apt-get -y install cuda
- 환경변수에 다음의 내용을 등록한다
export PATH=/usr/local/cuda-10.2/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
- 설치 이후에 재부팅한다
- NVIDA 설정을 확인한다
nvcc --version nvidia-smi
3. CuDNN 설치
- cuda 10.2와 버전이 맞는 8.7.0 / tar 버전을 다운받는다
- 압축해제한 이후에 다음의 명령어를 입력한다
sudo cp include/* /usr/local/cuda-10.2/include sudo cp -P ./lib/* /usr/local/cuda-10.2/lib64 sudo chmod a+r /usr/local/cuda-10.2/lib64/libcudnn*
4. TensorRT 설치
- 아래의 버전(TAR 패키지 버전)을 다운받는다
- 원하는 위치에 파일을 압축해제한다
- 환경 변수에 다음의 내용을 등록한다
export LD_LIBRARY_PATH=~/Documents/dev/TensorRT-8.2.1.8/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/home/ubuntu/Documents/dev/programmers_slam/week16-1/coordinate_transformation/thirdparty/Pangoline08/install/lib:$LD_LIBRARY_PATH
5. Python Library 버전
- ros에서 python3을 사용하기 위해 다음의 패키지를 설치한다
sudo apt install python3-pip python3-all-dev python3-rospkg sudo apt install ros-melodic-desktop-full --fix-missing
- 다음의 패키지를 설치한다
pip3 install numpy==1.19.5 scikit-build PyYAML==6.0 protobuf==3.19.6 onnx==1.9.0 onnxruntime pycuda==2020.1
6. Pytorch 설치
- 원하는 버전의 명령어를 찾아서, 이를 실행하여 설치한다
pip3 install torch==1.10.0+cu102 torchvision==0.11.0+cu102 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html
7. OpenCV 빌드
- home 폴더에 OpenCV4 폴더를 만들고 다음의 명령어를 순서대로 입력한다
mkdir ~/OpenCV4 cd ~/OpenCV4 wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.5.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.5.zip unzip opencv.zip unzip opencv_contrib.zip mkdir build/ mkdir install/ cd build cmake -DCMAKE_BUILD_TYPE=Release -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_opencv_python3=ON -D HAVE_opencv_python3=ON -DPYTHON_DEFAULT_EXECUTABLE=$(which python3) -DCMAKE_INSTALL_PREFIX=../install -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ../opencv make -j"$(nproc)" sudo make install
cmake -DCMAKE_BUILD_TYPE=Release -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_opencv_python3=ON -D HAVE_opencv_python3=ON -DPYTHON_DEFAULT_EXECUTABLE=$(which python3) -DWITH_CUDA=ON -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DBUILD_opencv_cudacodec=OFF -DWITH_QT=ON -DWITH_OPENGL=ON -DFORCE_VTK=OFF -DWITH_TBB=OFF -DWITH_MKL=ON -DMKL_USE_MULTITHREAD=ON -DMKL_WITH_TBB=ON -DWITH_IPP=ON -DWITH_GDAL=ON -DWITH_XINE=OFF -DBUILD_EXAMPLES=OFF -DCUDA_ARCH_PTX="" -DCUDA_ARCH_BIN="6.2" -DCMAKE_INSTALL_PREFIX=../install -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.5/modules ../opencv-4.5.5
- python3 opencv
pip3 install --upgrade pip setuptools wheel pip3 install opencv-python==4.5.5.62
- 파이썬에서 cv2가 정상적으로 import되는지 확인한다
import cv2 cv2.__version__
8. 예제 실행
- 저장소를 clone 받는다
- 다음의 명령어를 실행해본다
# download weights wget https://pjreddie.com/media/files/yolov3-tiny.weights # weights > onnx python3 yolov3_to_onnx.py --cfg yolov3-tiny.cfg --weights yolov3-tiny.weights --num_class 80 # onnx > trt python3 onnx_to_tensorrt.py --cfg yolov3-tiny.cfg --onnx yolov3-tiny.onnx --num_class 80 --input_img dog.jpg
- 다음과 같은 이미지를 생성하는지 확인해본다