친구에게 빌린 jetson nano 장치에 Jetpack 4.6.4를 설치하고 CUDA를 지원하는 OpenCV를 설치하는 방법에 대해서 시행착오를 거치고 그 과정을 정리하고자 한다.
이후에 lightdm GUI를 사용하게 될 것이다. Opencv 설치에 사용되는 메모리 용량을 절약하기 위한 방법인데 사실 무한 로그인 현상이 발생하기도 한다. 그래서 Jetpack 설치하는 과정에서 자동로그인에 체크를 하는게 좋을 것 같다.(이걸로 해결이 되는지는 모른다. 아직 무서워서 재부팅을 많이 해보지 않았다. 무한 로그인 현상에 대처하는 방법은 그래픽카드 드라이버 재설치인데 Jetson nano용 드라이버를 아직 몰라서 대처방법을 적용하기가 어렵기에 적지 않았다.)
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-pip
$ sudo -H pip install -U jetson-stats
$ sudo reboot
재부팅 후
$ jtop
실행결과 터미널 창에 여러 정보가 출력된다. 숫자 7번 버튼을 눌러 INFO 탭으로 들어가면 python과 opencv 라이브러리 정보를 볼 수 있다.
python은 3.6.9이고 opencv는 4.1.1 with CUDA : NO로 표시된다.
jetpack에는 이미 python과 opencv가 내장되어 있다. 따라서 추가적인 설치가 불필요하다. 하지만 opencv를 이용할 때 NVIDIA GPU를 사용하기 위해선 CUDA가 필요하다. 기본 설치되는 Opencv는 CUDA를 지원하지 않기 때문에 재설치 해야한다.
$ sudo apt-get install lightdm
$ sudo apt-get purge gdm3
후 재부팅 한다. 여기서 무한 로그인 문제가 발생할 수 있으니 혹시 자동 로그인을 해두지 않았다면 opencv를 설치하기 직전에 변경하는게 좋을것 같다.
이 다음과정은 공식 설치과정 문서를 참고해야만 한다.
opencv를 설치하기 위해서는 많은 램을 확보해야 하므로 swapfile을 이용해야하고, 이 밖에 68개 명령어를 실행해야하는 번거로움으로 위 공식 설치과정 문서는 최신 버전의 설치를 위한 명령어 파일을 wget으로 다운로드 할 수 있게 제공한다.
나는 무작정 설치를 시도했었기 때문에 pip3나 apt-get 으로 opencv를 설치하려 시도했다. 하지만 2주에 가까운 시간을 낭비하고 결국 os를 다시 설치해야했다. 상단 공식 설치과정을 꼭 따라야 한다. 가장 시간을 단축할 수 있는 방법이다. 그리고 가능하면 화면보호기를 꺼두기 바란다.