본문 바로가기
Computer Science/TIL-Today I Learned

opencv, cuda, nvidia driver install

by Tanya 탄야 2019. 9. 19.

https://blog.neonkid.xyz/100

 

Ubuntu 16.04 에서 OpenCV 3.x 설치

OpenCV 설치에 들어가보도록 하겠습니다. OpenCV는 OS X, Linux, Windows, Android, iOS 어디서든지 사용할 수 있지만 일반적으로 설치하기가 좀 까다로운 Linux에서 설치하는 방법을 포스팅해보도록 하겠습니다...

blog.neonkid.xyz

https://webnautes.tistory.com/1030

 

Ubuntu 16.04에 opencv_contrib 포함하여 OpenCV 4.0.1 설치하는 방법

OpenCV 4.0.1과 opencv_contrib(extra modules)를 컴파일하여 Ubuntu 16.04에 설치하는 방법을 다룹니다. 1. 설치된 OpenCV 제거 2. 기존 설치된 패키지 업그레이드 3. OpenCV 컴파일 전 필요한 패키지 설치 4. Op..

webnautes.tistory.com

https://hiseon.me/linux/ubuntu/cuda-install/

 

CUDA 설치 우분투 환경 - HiSEON

CUDA 설치 우분투 환경 우분투 환경에서 최신 버전의 CUDA 설치하는 방법에 대해서 설명드립니다. NVIDIA 패키지 리스트를 추가하여 cuDNN 7.0 라이브러리와 함께 CUDA 9.0를 설치합니다. 최신 버전의 텐서플로우 설치 환경을 준비합니다.

hiseon.me

https://www.tuwlab.com/ece/27234

 

[CMake 튜토리얼] 1. CMake 소개와 예제, 내부 동작 원리 - ECE - TUWLAB

▶ Makefile 튜토리얼에서는 C 프로젝트를 빌드하기 위한 Makefile을 작성하는 방법에 대해 다뤘습니다. 이번 글에서는 Makefile을 보다 쉽고 편리하게 작성할 수 있는 툴인 CMake에 대해 소개하고, 동작 원리를 소개하도록 하겠습니다. Make의 아킬레스건: 항상 신경써야 하는 Makefile 유지/보수 "소스코드를 수정해서 의존성이 바뀔 때마다 Makefile에 보고해야 한다. 그렇지 않으면 당신의 빌드를 비비 꼬이게 만...

www.tuwlab.com

https://doprogramming.tistory.com/20

 

ldconfig 명령어는 왜 쓰는 걸까

-C cache : /etc/ld.so.cache 파일 대신 지정한 파일을 이용한다. -f conf : /etc/ld.so.conf 파일 대신 이용할 설정 파일을 지정한다. -l : 수동으로 각각의 라이브러리를 링크한다. -n : 명령 행에서 지정한 디..

doprogramming.tistory.com

▲ References

 

 


 OpenCV설치

 

-opencv  와 opencv_contrib(extra modules)를 설치하고 컴파일하는 과정

 

1) opencv4.0.1 / opencv_contrib github에서 받아옴

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

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

 

2)opencv 컴파일 전 필요한 패키지들

 

  • build-essential
    • build-essential 은 소스코드 빌드 시 필요한 기본적인 패키지들을 다운로드 합니다. 설치 후에는 gcc, g++, make, perl 등과 각종 라이브러리들이 설치됩니다
  • cmake
    • references 참고 ; makefile 보다 간단하게! 의존성 꼬이지 않고 알아서 잘 해결해줌 .... ?  .Obj 신경안써도되게
    • script 와 같은 역할을 한다.
  • pkg-config
    • 소스 코드로부터 소프트웨어를 컴파일할 목적으로 설치된 라이브러리를 조회하기 위해 통일된 인터페이스를 제공하는 컴퓨터 소프트웨어이다
    • 라이브러리가 설치될 때(RPM, deb 등을 통한 자동 설치 또는 소스로부터 직접 컴파일) .pc 파일이 포함되어 있어야 한다.

 

$ gcc -o test test.c $(pkg-config --libs --cflags libpng)

(pkg-config 예시)

 

3) opencv-4.0.1 디렉토리 아래 build 디렉토리를 만든다. 

build  디렉토리에서  cmake 사용 컴파일을 한다.

 

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \

컴파일된 결과가 prefix 의 /usr/local 안에 저장되는 것.

---->>>cmake 로 빌드할때 build 디렉토리를 바로 상위디렉토리( where cmake is located)에서 만들어야한다! <<<---- 헤맴맴맴매맴

 

 

make -j4

->  컴파일  (코어 4개 이용)

 

sudo make install

-> 컴파일 된 결과 설치

 

4)ldconfig

 

 동적 링크 프로그램 : 공유라이브러리를 사용하는 것

 정적 링크 프로그램 : 자체적인 라이브러리 사용하는 것

 

 

->동적 링크 프로그램에서 새로운 라이브러리를 설치하고 이것을 사용하려면 ldconfig 로 공유라이브러리 캐시를 재설정 해주어야한다.

sudo ldconfig

 

 

 


$sudo apt-get update
$sudo apt-get upgrade

update 는 ubuntu repository 로부터 Package  list 를 업데이트해오는 것(새로운 버전 있으면 리스트 불러옴)

upgrade 는 기존 패키지 버전 업그레이드

 

 

$ cat /proc/cpuinfo | grep processor | wc -l

CPU코어 수 확인

 

 

*   nvidia driver 설치시 안전모드(F2- F7) 해제하고 3rd party driver(?) 설치

반응형

'Computer Science > TIL-Today I Learned' 카테고리의 다른 글

tensorflow -GPU 에러들  (0) 2019.09.21
cuda installation  (0) 2019.09.21
Image Segmentation  (0) 2019.09.16
Virtualenv 에 tensorflow install ERROR !  (2) 2019.09.11
L1 L2 Norm, Loss, Regularization  (1) 2019.09.10