뻘짓과 뻘짓을 반복하며 기록
1.환경
- cuda 11.0
- cudnn 8.2
- Ubuntu 20.041
- Anaconda python
2.라이브러리 설치
- 기존 패키지 업그래이드
$ sudo apt update
$ sudo apt upgrade
- 필요한 패키지 설치
sudo apt-get install build-essential cmake
sudo apt-get install pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev
sudo apt-get install ffmpeg libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev
sudo apt-get install libv4l-dev v4l-utils
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
sudo apt-get install libatlas-base-dev gfortran libeigen3-dev
sudo apt-get install python3-dev python3-numpy
가상환경은 따로 생성하지 않고 진행.
생성해서 들어갈 경우 파이썬 lib을 제대로 못잡음
3.openCV 소스 가져오기.
mkdir opencv && cd opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.4.0.zip
unzip opencv.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.4.0.zip
unzip opencv_contrib.zip
cd opencv-4.4.0
mkdir build && cd build
위 블로그와 같습니다.
4. CMAKE build
문제는 지금부터 위 블로그에 나온 cmake로 cuda cudnn을 포함한 build 는 죄다 실패해 버린다.
목표는 yolo darknet을 위한 opencv를 빌드하는것이기에 cuda 관련 내용을 전부 삭제후 빌드
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_C_COMPILER=/usr/bin/gcc-8 \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=ON \
-D BUILD_DOCS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PACKAGE=OFF \
-D BUILD_EXAMPLES=OFF \
-D WITH_TBB=ON \
-D ENABLE_FAST_MATH=1 \
-D WITH_CUBLAS=ON \
-D WITH_CUFFT=ON \
-D WITH_NVCUVID=ON \
-D WITH_IPP=OFF \
-D WITH_V4L=ON \
-D WITH_1394=OFF \
-D WITH_GTK=ON \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
-D WITH_EIGEN=ON \
-D WITH_FFMPEG=ON \
-D WITH_GSTREAMER=ON \
-D BUILD_JAVA=OFF \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_python2=OFF \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D OPENCV_SKIP_PYTHON_LOADER=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules ..
이후 make
time make -j6
sudo make install
nproc 으로 나온 코어 +2를 해야 빠르다는 말을 들었던것 같아서 6..
마지막으로 Idconfig
sudo ldconfig
이후 darknet 빌드까지 문제없이 완료, Darknet은 cuda문제 없이 빌드가 되었다.
성능의 차이는 나중에 확인 할것.
'Back > UBUNTU _ LINUX' 카테고리의 다른 글
[Ubuntu][Cuda] Could not load dynamic library 'libcusolver.so.10' (0) | 2021.05.11 |
---|---|
[Linux] 윈도우 에서 리눅스 사용하기 WSL (0) | 2021.01.25 |
[Linux] Ubuntu 20.04 설치 오류 (0) | 2021.01.11 |
[Centos] Cuda 설치 (0) | 2020.12.29 |