* 학습 내용
1. tensorflow object detection api를 git에서 clone
2. protobuf 설치
3. research/object_detection/protos 를 컴파일
4. setup.py 를 이용해 설치
5. pythonpath 설정 및 예제 코드 실행
1. tensorflow object detection api를 git에서 clone
- cmd 창을 열고 api를 다운받고자 하는 디렉토리 위치에서 아래 커맨드를 입력한다
(여기서는 c 드라이브/개인폴더(202107_lab)/tools에 다운받아 진행할 예정)
git clone https://github.com/tensorflow/models.git
- 해당 디렉토리로가서 zip파일 압축해제를 해준다.
- 다 다운받으면 models 라는 파일이 생성되었다.
2. protobuf 설치
- 아래 링크를 클릭하면 곧바로 protoc-3.14.0-win64.zip파일을 다운받을 수 있는 창이 뜬다.
https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/protoc-3.14.0-win64.zip
- 아까 api를 다운받았던 디렉토리에 해당 zip파일을 설치한 후 압축을 해제해준다.
- 압축해제 후 bin폴더, include 폴더, readme.txt 파일이 생성된다.
(만약 위 폴더들이 없고 protoc-3.14.0-win64 폴더가 생겼다면 해당 폴더에 들어가면 있다)
- 그 다음 bin을 path로 잡아주는 설정을 해줘야 한다. (bin 폴더의 디렉토리 주소를 복사한다)
- 탐색기에서 내 pc를 클릭한 후 마우스 오른쪽 버튼 클릭, 속성에 들어간다
- 시스템 속성창이 뜨면 창의 맨 오른쪽 혹은 맨 왼쪽의 ① 고급 시스템 설정에 들어간다
그 다음 ② 환경 변수 클릭
③ Path 클릭(그림에서 잘못 캡쳐되었는데, 사용자 변수가 아니라 시스템 변수의 path를 클릭해야 한다)
④ 편집 클릭
⑤ 새로 만들기 클릭, bin폴더의 디렉토리 주소(C:\202107_lab\tools\bin) 입력 후 모든 창의 확인 버튼을 눌러 환경 변수 설정을 마무리 한다.
- 환경변수 설정을 하고 나면 모든 cmd창을 닫아야 변경된 환경변수 설정이 적용이 된다.
3. research/object_detection/protos 를 컴파일
- cmd 창을 열어 models\research 폴더로 이동
- 아래 커맨드 입력
protoc.exe object_detection/protos/*.proto --python_out=.
- 성공하면 아래와 같이 아무것도 나타나지 않음.
- 컴파일이 잘 되었는지 확인하기 위해
tools\models\research\object_detection\protos 경로로 이동해 보자.
확장자가 py인 파일(파이썬 스크립트 파일)들이 많이 생성된 것이 확인되면 컴파일이 잘 되었음을 알 수 있다.
4. setup.py 를 이용해 설치
- 해당 작업을 하기 전에 setup.py 파일을 수정해 줘야 한다
- 아래 디렉토리로 찾아들어가자
\tools\models\research\object_detection\packages\tf2
- tf2의 파일을 열면 setup.py 파일이 존재한다 해당 파일을 메모장이나 notepad++ 등으로 파일을 연다
- 파일을 열고 'pycocotools' 와'tf-models-official>=2.5.1'를 찾아서 주석처리 해준 후 저장하고 파일을 닫는다.
(notepad++에서는 20라인, 24라인에 있었다.)
- 해당 메모장은 필요한 라이브러리를 적어놓은 목록으로, cmd에서 setup.py가 있는 폴더에서 pip install . 라는 커맨드를 입력하면 자동으로 필요한 라이브러리를 모두 다 설치해준다. 해당 작업은 아래와 같이 차근차근 따라해보자
- 먼저 cmd 창을 열어 아까 tf2가 있던 디렉토리로 이동한다(\tools\models\research\object_detection\packages\tf2)
(- 필자는 텐서플로우를 tf2라는 가상환경에 설치했기 때문에 중간에 tf2 가상환경을 실행하는 작업을 진행할 것이다. 이 블로그 글을 참고하여 실습하시는 분들은 필자와 환경이 다를 수 있으므로 이 상황을 참고하여 작업하면 된다.
- 텐서플로우가 설치되어 있는 가상환경 tf2 실행)
- setup.py 파일 실행
# 텐서플로우가 설치되어 있는 가상환경 tf2 실행
conda activate tf2
# setup.py 파일을 이용해서 필요한 파일 설치
pip install .
5. pythonpath 설정 및 예제 코드 실행
- 환경변수 설정을 위해 탐색기에서 내 PC 클릭, 마우스 오른쪽 버튼 클릭, 속성 클릭
- 시스템 창이 뜨면 ① 고급 시스템 설정, ② 환경 변수를 클릭한다.
여기서 시스템 변수에서 PYTHONPATH가 존재하는 경우 ③ 편집 버튼을 누르고, 존재하지 않는 경우 ③ 새로 만들기 버튼을 누른다.
- PYTHONPATH가 없는 경우 변수 이름에 대문자로 PYTHONPATH를 입력 변수값은 아래 글을 참고하여 넣는다.
- 총 두개의 디렉토리 주소를 추가해준다.
하나의 주소를 입력한 후 또다른 주소를 추가할 땐 ;콜론을 넣은 후 그 다음 주소를 넣는다
(예: C:\202107_lab\tools\models;C:\202107_lab\tools\models\research)
① models 디렉토리 주소
(예시: C:\202107_lab\tools\models)
② models의 하위 디렉토리 research의 디렉토리 주소
(예시: C:\202107_lab\tools\models\research)
- 주소를 다 추가했으면 확인 버튼을 계속 눌러 환경변수 설정 작업을 마무리한다.
- research\object_detection\colab_tutorials 로 이동하여 object_detection_tutorial.ipynb파일을 실행시켜준다
(cmd에서 해당 디렉토리로 이동 후 가상환경 tf2 실행, jupyter notebook 실행)
- object_detection_tutorial.ipynb 파일을 실행하면 setup부분은 건너뛰고 import 부분부터 실행한다.
(setup은 코렙기준이기 때문에 지금 상황에서는 필요하지 않다)
- Loading label map 부분에서 디렉토리 주소를 바꿔주는 작업을 해줘야 한다
# 현 디렉토리 위치 확인
os.getcwd()
# 디렉토리 바꾸기
# 위 커맨드로 조회한 디렉토리 주소에서 models 폴더의 상단부분을 복사해서 ()안에 넣어주면 된다
os.chdir('c:\\tools')
# setup 부분을 패스했기 때문에 pathlib 라이브러리가 임포트되지 않았다
# pathlib 라이브러리 임포트해주자
import pathlib
- 이후 detection부분까지 오류없이 실행되면 모든 설정이 다 완료되었다.(실습 끝)
'IT study > 00. playdata_trace' 카테고리의 다른 글
jupyter notebook 테마 설정 (0) | 2021.07.24 |
---|---|
연결한 dbeaver에 data 생성하기 (0) | 2021.07.22 |
DBeaver와 AWS DB 연결하기 (0) | 2021.07.22 |
DBeaver와 AWS DB 연결하기 위해 AWS DB 생성 (0) | 2021.07.22 |
리스트 관련 함수(수정중) (0) | 2021.05.25 |