Windows에서 Tensorflow Object Detection API 설치하기!!
김승우 책임
Windows에서 Tensorflow Object Detection API 설치하기!
Windows에서 각종 개발 환경을 설정하다보면 애로사항이 많습니다.
그 중에서 삽질(?)을 많이 했던 Tensorflow Object Detection API
에 대해서 설명할까 합니다.
설치하기 앞서 Python용 Tensorflow는 설치되었다고 가정합니다.
혹시 아직 설치하지 않으셨다면 다음을 참고하세요.
모든 python version을 지원하는 것이 아니니 python version 확인을 해주세요!!
자, 이제 본격적으로 Tensorflow Object Detection API
를 설치해보도록 합시다.
1. Tensorflow Object Detection API 다운로드
-
https://github.com/tensorflow/models 에서 다운로드 합니다.
- 혹은 git이 설치되어 있다면
C:\>git clone https://github.com/tensorflow/models
- 앞으로의 설명 편의를 위해 압축 해제 폴더를
C:\models
로 가정합니다.
2. protobuffer 다운로드
-
Windows 환경에서 protobuf 3.5.x version은 설치 문제가 있으므로 3.1 version으로 다운로드 합니다. 다운로드 가능 링크는 다음과 같습니다.
-
편의상 압축 해제 폴더를
C:\protoc-3.1.0-win32
로 가정합니다.
3. 필요 라이브러리 설치
-
Python distribution(ex. Anaconda)로 Python을 설치하였으면 생략 가능합니다.
C:\User\Musma>pip install pillow C:\User\Musma>pip install lxml C:\User\Musma>pip install jupyter C:\User\Musma>pip install matplotlib
4. proto files compile
-
API의 사용을 위해서는 다운로드 받은 protoc로 models 폴더 안의 proto 파일을 컴파일 해줘야합니다.
C:\models\research
디렉토리로 이동한 뒤에 다음 명령어를 실행합니다.C:\models\research> C:\protoc-3.1.0-win32\bin\protoc.exe object_detection\protos\*.proto --python_out=.
- 에러가 발생하지 않았으면 compile 성공이며 결과는 해당 폴더에 pb2.py들이 생성된 것으로 확인할 수 있습니다.
5. Object Detection API install
-
C:\models\research
디렉토리로 이동하여 다음의 명령어를 실행해 install 합니다.C:\models\research>python setup.py build C:\models\research>python setup.py install
6. 환경 변수 설정
-
install 이후 다음과 같이 환경 변수 설정을 해줘야합니다.
Variable : PYTHONPATH
Value : C:\models\research\slim , C:\models\research -
다음 스크린샷을 참고하세요.
7. 설치 확인!
-
다음 명령어로 설치를 확인해봅시다. 아래와 비슷한 메세지가 뜨면 설치가 제대로 된 것입니다.
C:\models\research>python object_detection\builders\model_builder_test.py Ran 22 tests in 0.102s OK
- 가끔 이 과정에서 error가 나긴 합니다.
NVIDIA CUDA toolkit
을 설치하셨다면 설치 버전을 우선 확인하세요. 저는 멋모르고 v10.0을 설치하였다가 tensorflow가 지원하지 않는 버전이라 고생을 좀 했습니다. - Tensorflow가 지원하는 GPU 버전은 여기에서 확인 가능합니다.
8. Tutorial을 해보자!
C:\models\research\object_detection
디렉토리에 보면 python notebook 형식의 tutorial 파일object_detection_tutorial.ipynb
이 있습니다.- 파일을 불러와 실행시키면 다음과 같은 결과를 확인할 수 있습니다.
if result is 'success':
return '(づ。◕‿‿◕。)づ'
elif result is 'error':
return 'ლ(ಠ益ಠლ)'
else:
return '¯\_(ツ)_/¯'