반응형

Ubuntu 20.04에 CUDA 11.2, cuDNN 8.1.0, OpenCV 4.5.1을 설치하는 방법을 다룹니다. 



  • NVIDIA 그래픽 카드 드라이버 설치
  • CUDA 11.2 설치
  • cuDNN 8.1.0 설치
  • OpenCV 4.5.1 설치

  

2021. 04. 24  최초작성

2021. 05. 22  libcusolver.so.10을 libcusolver.so.11으로 링크 생성.

2021. 05. 28  CUDA 11.1, cuDNN 8.1.0으로 변경 ( Compute Capability 8.6까지 지원 )

2021. 05. 29  CUDA 11.2, cuDNN 8.1.0으로 변경

                      다음 에러가 발생해서 변경함. 

                      checkVersions CUDART version 11020 reported by cuDNN 8100 does not match with the version reported by CUDART 11010

 

NVIDIA 그래픽 카드 드라이버 설치

 

다음 명령으로 현재 사용중인 그래픽 카드에 설치할 수 있는 드라이버를 확인합니다. 

 

$ ubuntu-drivers devices



webnautes@webnautes-PC:~$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002191sv000017AAsd00003FFCbc03sc00i00
vendor   : NVIDIA Corporation
model    : TU116M [GeForce GTX 1660 Ti Mobile]
driver   : nvidia-driver-460-server - distro non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-450 - distro non-free
driver   : nvidia-driver-460 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin





확인된 드라이버 중 하나를 설치합니다. 

 

$ sudo apt install nvidia-driver-460



적용하려면 재부팅이 필요합니다. 



시스템에서 NVIDIA 드라이버를 사용하고 있는지 확인합니다. 

왼쪽 아래에 보이는 프로그램 표시 아이콘을 클릭하여 소프트웨어 & 업데이트를 실행합니다. 

 

 

 

 

스크린샷처럼 이미 NVIDIA 드라이버를 사용하고 있지 않으면 선택을 합니다. 

이 경우 우분투를 재부팅해야 반영이 됩니다. 

 

 

 

 

터미널에서 nvidia-smi 명령을 실행하여 설치한 드라이버 버전이 맞는지 확인하세요.

여기에선 nvidia-driver-460에 맞는 460이 보입니다.  

 





기존 CUDA 삭제

데비안 패키지로 설치한게 아니라면 다음처럼 간단히 기존에 설치된 CUDA를 제거할 수 있습니다. 

 

webnautes@webnautesPC:~$ sudo rm -rf /usr/local/cuda*



~/.bashrc나 /etc/profile에 추가되있는 CUDA 관련 설정도 제거해야 합니다. 

 

export PATH=$PATH:/usr/local/cuda-11.0/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/lib64

export CUDADIR=/usr/local/cuda-11.0




CUDA 11.2 설치

 

아래 링크에 접속하여 CUDA Toolkit 11.2를 선택합니다. 

 

https://developer.nvidia.com/cuda-toolkit-archive




다음처럼 선택합니다.  Version은 사용중인 Ubuntu 버전을 선택하세요.

 




선택 완료 후, 그아래에 다음처럼 보이는 명령대로 설치를 진행합니다.

 





잠시 기다리면 설치 화면이 보입니다. 




Continue를 선택합니다. 

 



다음처럼 에러가 난다면 gcc가 설치안되어 있는 상태입니다. 

 

 Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.



개발을 위한 필수 프로그램을 설치하고 다시 해보세요.

 

$ sudo apt-get install build-essential 




accept 입력 후, 엔터를 입력합니다.  




Driver 항목에서 스페이스바 눌러서 체크 해제하고 , Install 항목에서 엔터를 누릅니다. 

 



문제 없이 설치되면 다음처럼 보입니다. 

 




다음 명령을 사용하여 CUDA Toolkit 관련 설정을 환경 변수에 추가하고  바로 적용합니다. 

 

$ sudo sh -c "echo 'export PATH=$PATH:/usr/local/cuda-11.2/bin' >> /etc/profile"

$ sudo sh -c "echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64' >> /etc/profile"

$ sudo sh -c "echo 'export CUDADIR=/usr/local/cuda-11.2' >> /etc/profile"

$ source /etc/profile



설치가 잘되었는지 확인합니다. 11.2가 보여야 합니다. 

 

webnautes@webnautesPC:~$ nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2020 NVIDIA Corporation

Built on Mon_Nov_30_19:08:53_PST_2020

Cuda compilation tools, release 11.2, V11.2.67

Build cuda_11.2.r11.2/compiler.29373293_0



cuDNN 8.1.0 설치



아래 링크에 접속 합니다. 

https://developer.nvidia.com/cudnn 



Download cuDNN을 클릭합니다. 



계속 진행하려면 로그인을 해야 합니다. 

 



라이센스에 동의한다고 체크하고( I Agree to the Terms of… ) 

Archived cuDNN Releases를 클릭합니다. 

 




목록에서 다음 항목을 클릭합니다. 

Download cuDNN v8.1.0 (January 26th, 2021), for CUDA 11.0,11.1 and 11.2



다음 항목을 클릭합니다. 

cuDNN Library for Linux (x86_64)




다운로드 받은 파일을 압축풀어서 파일 복사합니다. 

$ cd 다운로드

$ tar xvzf cudnn-11.2-linux-x64-v8.1.0.77.tgz

$ sudo cp cuda/include/cudnn* /usr/local/cuda/include

$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*



링크를 다시 걸어줘야 합니다. 

 

$ sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.1.0 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8

 

$ sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.1.0  /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8

 

$ sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.1.0  /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8

 

$ sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.1.0  /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8

 

$ sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.1.0  /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_train.so.8

 

$ sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.1.0 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8

 

$ sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn.so.8.1.0  /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn.so.8




새로 추가된 라이브러리를 시스템에서 찾을 수 있도록 하고 루트 디렉토리로 이동합니다.  

 

$ sudo ldconfig

 

$ cd




설정이 제대로 되었는지 확인합니다. 다음처럼 8.1.0이 보여야 합니다.  



webnautes@webnautes-PC:~$ ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn

libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.1.0

libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.1.0

libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.1.0

libcudnn.so.8 -> libcudnn.so.8.1.0

libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.1.0

libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.1.0

libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.1.0




OpenCV 4.5.1 설치

 

기존에 설치된 패키지를 업그레이드합니다. 

 

$ sudo apt-get update

$ sudo apt-get 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





OpenCV를 다운로드 받아 빌드를 진행합니다. 



$ mkdir opencv-sources

$ cd opencv-sources



$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.1.zip

$ unzip opencv.zip

 

$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.1.zip

$ unzip opencv_contrib.zip

 

$ cd opencv-4.5.1

$ mkdir build

$ cd build




cmake를 실행합니다. 중간에 다운로드를 하므로 인터넷이 연결된 상태에서 진행해야 합니다.

 

주의할 점은 CUDA_ARCH_BIN, CUDA_ARCH_PTX는 https://developer.nvidia.com/cuda-gpus 의 Compute Capability를 참고하여 본인의 GPU에 따라 바꿔야 합니다.  

 

목록에 없다면 구글에서 “gtx 1660 ti Compute Capability” 식으로 검색하여 찾으세요. 이 값을 잘못 입력하면 CUDA가 정상 동작하지 않습니다. 

 

gtx 1660 ti 의 경우에는 7.5입니다. 



cmake -D CMAKE_BUILD_TYPE=RELEASE -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 CUDA_FAST_MATH=1 -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -D WITH_CUDA=ON -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.5.1/modules -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D CUDA_ARCH_BIN=7.5  -D CUDA_ARCH_PTX=7.5 -D CUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so.8.1.0 -D CUDNN_INCLUDE_DIR=/usr/local/cuda/include  .. 




cmake 실행 결과 입니다. 빨간색 부분을 확인하세요. 

 

-- General configuration for OpenCV 4.5.1 =====================================
--   Version control:               unknown
-- 
--   Extra modules:
--     Location (extra):            /home/webnautes/opencv-sources/opencv_contrib-4.5.1/modules
--     Version control (extra):     unknown
-- 
--   Platform:
--     Timestamp:                   2021-05-29T12:45:55Z
--     Host:                        Linux 5.8.0-53-generic x86_64
--     CMake:                       3.16.3
--     CMake generator:             Unix Makefiles
--     CMake build tool:            /usr/bin/make
--     Configuration:               RELEASE
-- 
--   CPU/HW features:
--     Baseline:                    SSE SSE2 SSE3
--       requested:                 SSE3
--     Dispatched code generation:  SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
--       requested:                 SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
--       SSE4_1 (15 files):         + SSSE3 SSE4_1
--       SSE4_2 (1 files):          + SSSE3 SSE4_1 POPCNT SSE4_2
--       FP16 (0 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
--       AVX (4 files):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
--       AVX2 (29 files):           + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
--       AVX512_SKX (4 files):      + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX
-- 
--   C/C++:
--     Built as dynamic libs?:      YES
--     C++ standard:                11
--     C++ Compiler:                /usr/bin/c++  (ver 9.3.0)
--     C++ flags (Release):         -fsigned-char -ffast-math -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
--     C++ flags (Debug):           -fsigned-char -ffast-math -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG
--     C Compiler:                  /usr/bin/cc
--     C flags (Release):           -fsigned-char -ffast-math -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG
--     C flags (Debug):             -fsigned-char -ffast-math -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG
--     Linker flags (Release):      -Wl,--gc-sections -Wl,--as-needed  
--     Linker flags (Debug):        -Wl,--gc-sections -Wl,--as-needed  
--     ccache:                      NO
--     Precompiled headers:         NO
--     Extra dependencies:          m pthread cudart_static dl rt nppc nppial nppicc nppidei nppif nppig nppim nppist nppisu nppitc npps cublas cudnn cufft -L/usr/local/cuda/lib64 -L/usr/lib/x86_64-linux-gnu
--     3rdparty dependencies:
-- 
--   OpenCV modules:
--     To be built:                 alphamat aruco bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev datasets dnn dnn_objdetect dnn_superres dpm face features2d flann freetype fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot python3 quality rapid reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking video videoio videostab xfeatures2d ximgproc xobjdetect xphoto
--     Disabled:                    world
--     Disabled by dependency:      -
--     Unavailable:                 cnn_3dobj cvv hdf java julia matlab ovis python2 sfm ts viz
--     Applications:                apps
--     Documentation:               NO
--     Non-free algorithms:         YES
-- 
--   GUI: 
--     GTK+:                        YES (ver 3.24.20)
--       GThread :                  YES (ver 2.64.6)
--       GtkGlExt:                  NO
--     OpenGL support:              NO
--     VTK support:                 NO
-- 
--   Media I/O: 
--     ZLib:                        /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.11)
--     JPEG:                        /usr/lib/x86_64-linux-gnu/libjpeg.so (ver 80)
--     WEBP:                        build (ver encoder: 0x020f)
--     PNG:                         /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.6.37)
--     TIFF:                        /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 / 4.1.0)
--     JPEG 2000:                   build (ver 2.3.1)
--     OpenEXR:                     build (ver 2.3.0)
--     HDR:                         YES
--     SUNRASTER:                   YES
--     PXM:                         YES
--     PFM:                         YES
-- 
--   Video I/O:
--     FFMPEG:                      YES
--       avcodec:                   YES (58.54.100)
--       avformat:                  YES (58.29.100)
--       avutil:                    YES (56.31.100)
--       swscale:                   YES (5.5.100)
--       avresample:                NO
--     GStreamer:                   YES (1.16.2)
--     v4l/v4l2:                    YES (linux/videodev2.h)
-- 
--   Parallel framework:            pthreads
-- 
--   Trace:                         YES (with Intel ITT)
-- 
--   Other third-party libraries:
--     Lapack:                      NO
--     Eigen:                       YES (ver 3.3.7)
--     Custom HAL:                  NO
--     Protobuf:                    build (3.5.1)
-- 
--   NVIDIA CUDA:                   YES (ver 11.2, CUFFT CUBLAS FAST_MATH)
--     NVIDIA GPU arch:             75
--     NVIDIA PTX archs:            75
-- 
--   cuDNN:                         YES (ver 8.1.0)
-- 
--   OpenCL:                        YES (no extra features)
--     Include path:                /home/webnautes/opencv-sources/opencv-4.5.1/3rdparty/include/opencl/1.2
--     Link libraries:              Dynamic load
-- 
--   Python 3:
--     Interpreter:                 /usr/bin/python3 (ver 3.8.5)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.8.so (ver 3.8.5)
--     numpy:                       /home/webnautes/.local/lib/python3.8/site-packages/numpy/core/include (ver 1.17.3)
--     install path:                lib/python3.8/dist-packages
-- 
--   Python (for build):            /usr/bin/python3
-- 
--   Install to:                    /usr/local
-- -----------------------------------------------------------------
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/webnautes/opencv-sources/opencv-4.5.1/build




빌드 및 설치를 합니다. 

$ time make -j$(nproc)

$ sudo make install



라이브러리를 인식할 수 있도록 해줍니다. 

$ sudo ldconfig




다음 코드를 컴파일하여 CUDA를 OpenCV에서 사용할 수 있는지 테스트합니다. 

 

$ g++ -o test test.cpp $(pkg-config opencv4 --libs --cflags)



#include <iostream>
using namespace std;

#include <opencv2/core.hpp>
using namespace cv;

#include <opencv2/cudaarithm.hpp>
using namespace cv::cuda;

int main()
{
    printShortCudaDeviceInfo(getDevice());


    int cuda_devices_number = getCudaEnabledDeviceCount();
    cout << "CUDA Device(s) Number: "<< cuda_devices_number << endl;
    DeviceInfo _deviceInfo;


    bool _isd_evice_compatible = _deviceInfo.isCompatible();
    cout << "CUDA Device(s) Compatible: " << _isd_evice_compatible << endl;


    return 0;
}



실행 결과 두 항목 모두 1이 나와야 합니다. 

 

webnautes@webnautesPC:~/opencv-sources/opencv-4.5.1/build$ ./test

Device 0:  "GeForce GTX 1660 Ti"  5936Mb, sm_75, Driver/Runtime ver.11.20/11.20

CUDA Device(s) Number: 1

CUDA Device(s) Compatible: 1




둘다 1이 보이지 않으면 cmake의 다음 두 옵션에 숫자를 잘못 적은겁니다. 

그래픽 카드에 해당되는 숫자를 적어야 합니다. 

 

-D CUDA_ARCH_BIN=7.5 -D CUDA_ARCH_PTX=7.5 




간단히 웹캠 예제를 테스트해봅니다. 

 

$ g++ -o webcam_test webcam_test.cpp $(pkg-config opencv4 --libs --cflags)



#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

const int fps = 20; // frames por second

int main()
{

    Mat frame; 
    
    VideoCapture videocapture(0); 


    if (!videocapture.isOpened()) 
        return -1;


    while (1) {

        bool ret = videocapture.read(frame);
        if (ret == false) break;


        imshow("Webcam", frame);


        int key = waitKey(1000 / fps);
        if (key == 27 ) 
            break;
    }

    return 0; 
}




창이 하나 뜨면서 웹캠 영상이 보이게 됩니다. 아래 경고메시지를 무시해도 됩니다. 

 

webnautes@webnautes-PC:~/opencv-sources/opencv-4.5.1/build$ ./webcam_test 

[ WARN:0] global /home/webnautes/opencv-sources/opencv-4.5.1/modules/videoio/src/cap_gstreamer.cpp (961) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1



웹캠 영상이 보이지 않으면 치즈 같은 프로그램을 사용하여 우분투에서 웹캠을 정상 인식했는지 확인할 필요가 있습니다. 






반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 ~~

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">
  1. thumbnail
    Favicon of https://gbox3d.tistory.com BlogIcon 밥을먹는선비

    gtx 3070 에서 pytorch 1.7.1 버전으로 테스트 해보니 아주 잘됩니다.
    참고로 30XX대 에서는 11.0 이상의 cuda만 동작하는것 같습니다.
    cuda 10.1 버전으로 3070을 돌릴수없어 고민하던차에
    딱맞춰 자료를 올려주셔셔 대단히 감사합니다.
    pytorch 테스트 코드는 다음과 같습니다.
    import torch
    torch.rand(3).to('cuda')

    10.1에서는
    RuntimeError: CUDA error: no kernel image is available for execution on the device
    위와같은 에러가 났지만..

    11.0으로 설치하니 에러가 잡혔네요.