
nvidia-docker에 chainercv를 설치하고 작동을 확인할 때까지
2022-10-04 last update
5 minutes reading Chainer 도커 chaienrcv nvidia-docker python2.7chainercv란?
PFN님 가 CV 관계의 유명한 이미지 인식·탐지 네트워크 구조를 정리해 주신 고마운 Python 라이브러리입니다.
matplotlib 관련 패키지와 OpenCV가 python으로 움직이는 환경이라면 다음 명령으로 빠져 나간다고 생각합니다.
$ sudo pip install chainercv
하지만, 어떤 환경에서도 학습용 프로그램이 움직이게 하고 싶었기 때문에, Docker(nvidia-docker)를 사용해 정리하기로 했습니다. chainer는 공식적으로 nvidia-docker 이미지가 있지만, 그것을 넣어도 내 환경에서는 trainer가 정지했기 때문에 1에서 환경을 만들고 있습니다 (아마 CUDA의 Docker 이미지 버전이 나빴던 것 같습니다) .
실행 환경
$ sudo pip install chainercv
다음은 내가 한 작업 절차입니다.
nvidia-docker
Docker와 nvidia-docker를 넣는 방법은 공식을 참조하십시오.
도커 설치
nvidia-docker
nvidia/cuda image
CUDA가 설치된 Docker가 공개되어 있으므로 nvidia-docker로 RUN합니다.
nvidia/cuda docker hub
$ nvidia-docker run -it nvidia/cuda:7.5-cudnn5-devel
작성한 이미지를 갱신하여 작업 공간을 작성하십시오.
$ apt-get update && apt-get upgrade
$ mkdir /workspace
$ cd workspace
python2.7
초기 이미지에는 파이썬이 없으므로 설치합니다.
그런 다음 numpy,pip,python-tk
를 함께 넣으십시오.
$ apt-get install python-dev python-numpy python-pip python-tk
설치 확인
$ python -V
Python 2.7.6
opencv3.2
그런 다음 OpenCV를 설치합니다. 현재 최신 버전은 3.3.1이지만 사용하지 않았기 때문에 버전을 낮추고 있습니다.
대부분의 절차는 공식적인 방법이지만 공식 사이트에서 3.2.0을 다운로드했습니다.
$ apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
만약을 위해, 빌드할 때, BUILD_opencv_python2
를 ON으로 했습니다.
$ apt-get install unzip wget
$ wget https://github.com/opencv/opencv/archive/3.2.0.zip
$ unzip 3.2.0.zip
$ cd opencv-3.2.0
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_python2=ON -D WITH_TBB=ON ..
설치 확인
$ python
> import cv2
> exit()
pip install
다음은 pip로 순서대로 설치합니다.
지정한 버전은 제가 동작 확인했을 때의 버전입니다.
$ pip install matplotlib==2.1.0
$ pip install cupy==2.0.0
$ pip install chainer==3.0.0
$ pip install chainercv==0.7.0
동작 확인
※동작 확인이므로 배치 사이즈는 적당합니다.
$ cd /workspace
$ wget https://github.com/chainer/chainercv/archive/v0.7.0.zip
$ unzip v0.7.0.zip
$ cd chainercv-0.7.0/examples/ssd
$ python train.py --model ssd512 --batchsize 4 --gpu 0 --out /workspace/result_chainercv
위에서 파스칼 VOC 학습이 시작되면 괜찮습니다.
또한. Pascal VOC 데이터 세트가 ~/.chainer
에 자동으로 저장되므로,
docker의 용량이 커집니다. docker image가 커지는 것을 싫어하는 분은 주의하십시오.
CUDA가 설치된 Docker가 공개되어 있으므로 nvidia-docker로 RUN합니다.
nvidia/cuda docker hub
$ nvidia-docker run -it nvidia/cuda:7.5-cudnn5-devel
작성한 이미지를 갱신하여 작업 공간을 작성하십시오.
$ apt-get update && apt-get upgrade
$ mkdir /workspace
$ cd workspace
python2.7
초기 이미지에는 파이썬이 없으므로 설치합니다.
그런 다음 numpy,pip,python-tk
를 함께 넣으십시오.
$ apt-get install python-dev python-numpy python-pip python-tk
설치 확인
$ python -V
Python 2.7.6
opencv3.2
그런 다음 OpenCV를 설치합니다. 현재 최신 버전은 3.3.1이지만 사용하지 않았기 때문에 버전을 낮추고 있습니다.
대부분의 절차는 공식적인 방법이지만 공식 사이트에서 3.2.0을 다운로드했습니다.
$ apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
만약을 위해, 빌드할 때, BUILD_opencv_python2
를 ON으로 했습니다.
$ apt-get install unzip wget
$ wget https://github.com/opencv/opencv/archive/3.2.0.zip
$ unzip 3.2.0.zip
$ cd opencv-3.2.0
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_python2=ON -D WITH_TBB=ON ..
설치 확인
$ python
> import cv2
> exit()
pip install
다음은 pip로 순서대로 설치합니다.
지정한 버전은 제가 동작 확인했을 때의 버전입니다.
$ pip install matplotlib==2.1.0
$ pip install cupy==2.0.0
$ pip install chainer==3.0.0
$ pip install chainercv==0.7.0
동작 확인
※동작 확인이므로 배치 사이즈는 적당합니다.
$ cd /workspace
$ wget https://github.com/chainer/chainercv/archive/v0.7.0.zip
$ unzip v0.7.0.zip
$ cd chainercv-0.7.0/examples/ssd
$ python train.py --model ssd512 --batchsize 4 --gpu 0 --out /workspace/result_chainercv
위에서 파스칼 VOC 학습이 시작되면 괜찮습니다.
또한. Pascal VOC 데이터 세트가 ~/.chainer
에 자동으로 저장되므로,
docker의 용량이 커집니다. docker image가 커지는 것을 싫어하는 분은 주의하십시오.
$ apt-get install python-dev python-numpy python-pip python-tk
$ python -V
Python 2.7.6
그런 다음 OpenCV를 설치합니다. 현재 최신 버전은 3.3.1이지만 사용하지 않았기 때문에 버전을 낮추고 있습니다.
대부분의 절차는 공식적인 방법이지만 공식 사이트에서 3.2.0을 다운로드했습니다.
$ apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
만약을 위해, 빌드할 때,
BUILD_opencv_python2
를 ON으로 했습니다.$ apt-get install unzip wget
$ wget https://github.com/opencv/opencv/archive/3.2.0.zip
$ unzip 3.2.0.zip
$ cd opencv-3.2.0
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_python2=ON -D WITH_TBB=ON ..
설치 확인
$ python
> import cv2
> exit()
pip install
다음은 pip로 순서대로 설치합니다.
지정한 버전은 제가 동작 확인했을 때의 버전입니다.
$ pip install matplotlib==2.1.0
$ pip install cupy==2.0.0
$ pip install chainer==3.0.0
$ pip install chainercv==0.7.0
동작 확인
※동작 확인이므로 배치 사이즈는 적당합니다.
$ cd /workspace
$ wget https://github.com/chainer/chainercv/archive/v0.7.0.zip
$ unzip v0.7.0.zip
$ cd chainercv-0.7.0/examples/ssd
$ python train.py --model ssd512 --batchsize 4 --gpu 0 --out /workspace/result_chainercv
위에서 파스칼 VOC 학습이 시작되면 괜찮습니다.
또한. Pascal VOC 데이터 세트가 ~/.chainer
에 자동으로 저장되므로,
docker의 용량이 커집니다. docker image가 커지는 것을 싫어하는 분은 주의하십시오.
$ pip install matplotlib==2.1.0
$ pip install cupy==2.0.0
$ pip install chainer==3.0.0
$ pip install chainercv==0.7.0
※동작 확인이므로 배치 사이즈는 적당합니다.
$ cd /workspace
$ wget https://github.com/chainer/chainercv/archive/v0.7.0.zip
$ unzip v0.7.0.zip
$ cd chainercv-0.7.0/examples/ssd
$ python train.py --model ssd512 --batchsize 4 --gpu 0 --out /workspace/result_chainercv
위에서 파스칼 VOC 학습이 시작되면 괜찮습니다.
또한. Pascal VOC 데이터 세트가
~/.chainer
에 자동으로 저장되므로,docker의 용량이 커집니다. docker image가 커지는 것을 싫어하는 분은 주의하십시오.