• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

실습 1 - License Plate Dataset에 대해 CRAFT Detector 학습 관련 질문입니다.

22.06.20 09:57 작성 조회수 236

0

강사님 안녕하세요

좋은 강의 제공해주셔서 감사합니다.

 

다름이 아니라,

Custom Dataset 실전 프로젝트 실습 1 - CRAFT를 이용한 License Plate Detection 모델(Custom Dataset) 학습

을 진행하면서 잘 진행되지 않는 부분에 대해 질문드립니다.

 

실습 과정에서 fit_generator를 호출하여 학습을 진행하는 코드

(1000번 동 epoch을 수행하는 곳)

---

이 부분에서 

자꾸만 저는 15-20 번 정도 epoch을 반복한 후 학습이 중단되는 오류가 발생하고 있습니다. 

.h5 파일과 .csv 파일이 생성되었는데,

다시 실행할 경우 이어서 학습되지는 않는 것 같습니다.

colab에서도 해보고

개인 gpu를 사용한 jupyter notebook 환경 및 pycharm 환경에서도 해봤는데

학습이 끝까지 진행되지 않고 있습니다..

해결할 수 있는 방법 혹은 에러 원인을 확인할 수 있는 있을지 강사님께 질문드립니다. 

(폴더 구성 및 코드입니다.)

(실행 결과창입니다.)

긴 글을 읽어주셔서 감사드립니다. 

그럼 답변 부탁드리겠습니다.

---

덧붙여 후반부 강의자료도

ceng99@naver.com으로 부탁드리고 싶습니다. 

감사합니다.

답변 1

답변을 작성해보세요.

1

안녕하세요~. 반갑습니다.

1. 프로그램이 죽는 원인은 전달해주신 정보만으로는 정확히 파악하기 힘들지만 GPU 메모리 부족 문제가 아닐까 예상됩니다. 아래 코드를 추가해서 GPU 사용을 off하고 cpu로 학습을 진행했을때 죽는지 확인해보시면 좀더 정확히 원인을 파악할 수 있을 것 같습니다.

 

import os

import tensorflow as tf

 

os.environ['CUDA_VISIBLE_DEVICES'] = '-1'

 

2. 끝까지 학습이 되지 않았더라도 일정 epoch 까지 학습이 진행되서 h5 파일이 생성되었다면 solution 코드에 있는 아래 h5 파일을 로드하는 코드를 fit_generator 함수 호출전에 추가해서 일정정도 학습이 끝난 h5 파일을 로드한 다음에 이어서 학습을 진행하는 걸로 여러번 나눠서 학습하는 형태로 우회해보는 방향을 고려해 볼 수 있습니다.

 

# set detector and start training
detector = keras_ocr.detection.Detector()
# restore model weights
loading_model_path = os.path.join(data_dir, 'detector_carplate.h5')
if os.path.isfile(loading_model_path) == True:
detector.model.load_weights(loading_model_path)
print(loading_model_path + ' model loaded!')

 

좋은 하루되세요~.

감사합니다.

ceng99님의 프로필

ceng99

질문자

2022.06.24

답변을 주셔서 정말 감사드립니다.

말씀 주신 것 같이 GPU 메모리 문제가 맞는 것 같습니다.

 

제가 사용 중인 GPU는 NVIDA GeForce GTX 1060 6GB인데,

이런 실습을 진행하기 위해서 어느 정도의 GPU 메모리(혹은 사양)를 필요로 하는지 여쭈어봅니다..ㅠㅠ!!

 

 

안녕하세요~. 반갑습니다.

GPU 스펙에 대해서 명확히 정해진 사양은 없지만 보통 최소 8G 이상의 Memory를 가진 GPU가 필요할 것으로 예상됩니다.

여건상 GPU 구매가 여의치않다면 colab pro 등을 고려해보는 것도 한가지 방법이 될 수 있습니다.

좋은하루되세요~.

감사합니다.