인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

fish2631님의 프로필 이미지
fish2631

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

ec2 서버환경에서 yolo 구현 질문

작성

·

505

0

안녕하세요 선생님. 제가 ec2환경에서 yolo를 inference만 하려고 하는데요.

keras의 backend __init__.py도 바꾸고, 코랩환경에서 만들었던 trained_weights_final.h5, *_class.txt 두 가지를 사용하여 inference만 해보려고 하는데 이러한 오류가 나옵니다.

수업내용 그대로 따라했던거같은데, 제가 빠뜨린게 없는지 혹은 환경설정을 잘못했는지 어떠한 문제가 있는지 알려주시면 감사하겠습니다.

답변 6

1

권 철민님의 프로필 이미지
권 철민
지식공유자

그리고 GPU가 없으면 tensorflow-gpu를 까실 필요는 없습니다

1

권 철민님의 프로필 이미지
권 철민
지식공유자

원래 keras yolo는 tensorflow 1.13 keras=2.2에서 동작합니다. keras 2.3 이라 keras backend의 load_backend()에서 오류가 발생하는 것 같습니다.

ec2 에서 tf 113 환경으로 맞춰 주시면 됩니다만, 현재 ec2는 gpu가 아닌가요?

만일 tensorflow 1.15 환경에서 구동하시려면, 아래 colab 실습 환경 노트북에서 주의해야 할 사항을 명기된대로 ec2에 수행 해주셔야 합니다. 이에 대한 내용이 YOLO 코랩 실습시 유의사항 동영상에 (6분 30초쯤에 있습니다) 있으니 참조하시기 바랍니다.

중요. 반드시 아래 import tensorflow, import keras 수행 전 이 셀을 먼저 수행해야 합니다.

Keras-yolo3 는 Custom data 를 train시 오류가 발생하는등 tensorflow 1.15 와 완벽하게 호환하지 않습니다.

때문에 아래와 같이 DLCV github에서 수정된 init.py 를 다운로드 받아서 keras의 backend의 init.py 를 수정해야 합니다.

init.py는 반드시 import tensorflow, import keras 이전에 수행되어야 합니다. 만일 tensorflow, keras 설치한 뒤 아래의 import tensorflow, import keras를 먼저 수행하였으면 메뉴-> 런타임 -> 런타임 다시 시작을 누르신 뒤 init.py를 수정합니다.

import os

# keras backend 디렉토리 이동. 
os.chdir('/usr/local/lib/python3.6/dist-packages/keras/backend')

# 기존 __init__.py 삭제하고 새로운 __init__.py를 download 
!rm -rf __init__.py
!rm -rf __pycache__
!wget https://raw.githubusercontent.com/chulminkw/DLCV/master/colab_tf115_modify_files/__init__.py

0

fish2631님의 프로필 이미지
fish2631
질문자

tensorflow==1.15.2와 keras==2.3.0입니다. 컴퓨터에 gpu없어도 tensorflow-gpu깔아도 되나요?

0

권 철민님의 프로필 이미지
권 철민
지식공유자

Tensorflow gpu 로 해주심이 좋을것 같습니다. 텐서플로우와 케라스 모두 버전이 어떻게 되죠?

0

fish2631님의 프로필 이미지
fish2631
질문자

데스크탑 wsl2에서 텐서플로우와 케라스 버전 똑같이 맞춰도 오류가 생깁니다.

현재 데스크탑은 tensorflow-gpu는 아닌데, 이게 문제가 될까요?

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

keras 버전이 안맞는 걸로 보입니다만, 현재 tensorflow_p37 가상환경의 keras 버전이 YOLO 환경과 맞는지 다시 확인 부탁드립니다.

감사합니다.

fish2631님의 프로필 이미지
fish2631

작성한 질문수

질문하기