inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

keras-yolo3 훈련 에러

해결된 질문

204

젓인

작성한 질문수 158

0

안녕하세요. 선생님 keras-yolo3 raccoon 데이터셋 훈련 때 오류가 발생했습니다. freeze시에는 잘 동작을 하는데, 모든 레이어를 unfreeze 할 때는 처음부터 에러가 바로 발생하네요. 메모리 용량 문제로 보이는데, 개인 GPU라서 해결할 방법은 GPU 메모리가 높은 것을 사용하는 것이겠죠?

---------------------------------------------------------------------------
ResourceExhaustedError                    Traceback (most recent call last)
<ipython-input-6-b92f17d39649> in <module>
     82         epochs=100,
     83         initial_epoch=50,
---> 84         callbacks=[logging, checkpoint, reduce_lr, early_stopping])
     85     model.save_weights(log_dir + 'trained_weights_final.h5')

~\anaconda3\envs\tf113\lib\site-packages\keras\legacy\interfaces.py in wrapper(*args, **kwargs)
     89                 warnings.warn('Update your `' + object_name +
     90                               '` call to the Keras 2 API: ' + signature, stacklevel=2)
---> 91             return func(*args, **kwargs)
     92         wrapper._original_function = func
     93         return wrapper

~\anaconda3\envs\tf113\lib\site-packages\keras\engine\training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
   1413             use_multiprocessing=use_multiprocessing,
   1414             shuffle=shuffle,
-> 1415             initial_epoch=initial_epoch)
   1416 
   1417     @interfaces.legacy_generator_methods_support

~\anaconda3\envs\tf113\lib\site-packages\keras\engine\training_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
    211                 outs = model.train_on_batch(x, y,
    212                                             sample_weight=sample_weight,
--> 213                                             class_weight=class_weight)
    214 
    215                 outs = to_list(outs)

~\anaconda3\envs\tf113\lib\site-packages\keras\engine\training.py in train_on_batch(self, x, y, sample_weight, class_weight)
   1213             ins = x + y + sample_weights
   1214         self._make_train_function()
-> 1215         outputs = self.train_function(ins)
   1216         return unpack_singleton(outputs)
   1217 

~\anaconda3\envs\tf113\lib\site-packages\keras\backend\tensorflow_backend.py in __call__(self, inputs)
   2664                 return self._legacy_call(inputs)
   2665 
-> 2666             return self._call(inputs)
   2667         else:
   2668             if py_any(is_tensor(x) for x in inputs):

~\anaconda3\envs\tf113\lib\site-packages\keras\backend\tensorflow_backend.py in _call(self, inputs)
   2634                                 symbol_vals,
   2635                                 session)
-> 2636         fetched = self._callable_fn(*array_vals)
   2637         return fetched[:len(self.outputs)]
   2638 

~\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\client\session.py in __call__(self, *args, **kwargs)
   1437           ret = tf_session.TF_SessionRunCallable(
   1438               self._session._session, self._handle, args, status,
-> 1439               run_metadata_ptr)
   1440         if run_metadata:
   1441           proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

~\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\framework\errors_impl.py in __exit__(self, type_arg, value_arg, traceback_arg)
    526             None, None,
    527             compat.as_text(c_api.TF_Message(self.status.status)),
--> 528             c_api.TF_GetCode(self.status.status))
    529     # Delete the underlying status object from memory otherwise it stays alive
    530     # as there is a reference to status from this from the traceback due to

ResourceExhaustedError: OOM when allocating tensor with shape[1024,512,3,3] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
	 [[{{node training_1/Adam/gradients/conv2d_58/convolution_grad/Conv2DBackpropFilter}}]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

그리고 추가로 궁금한 것이, 처음에 훈련할 때 freeze는 따로 코드로 설정하지 않아도 첫번째 레이어는 고정되어지는 것인가요?

감사합니다

python tensorflow 딥러닝 keras 컴퓨터-비전 머신러닝 배워볼래요?

답변 3

1

권 철민

안녕하십니까,

OOM이면 대부분 메모리 문제 입니다. 개인 PC의 GPU 메모리가 얼마인지 확인해 보시지요. 실습 코드는 16G 에서 테스트 되었습니다.

해당 실습 코드는 Colab 버전 실습 코드를 사용해서 학습 하시는게 좋을 것 같습니다.

감사합니다.

0

젓인

감사합니다

0

젓인

배치사이즈 1로 해도 에러가 발생합니다

강의 환경설정 질문

0

38

2

Custom Dataset에서의 polygon 정보 관련

0

82

3

cvat.ai 보안 수준이 궁금합니다

0

78

2

캐클 nucleus 챌린지 runpod 실습 코드 에러 질문드립니다.

0

94

3

추론 결과의 Precision(또는 mAP) 평가 방법

0

82

2

mmdetection mask rcnn inferenct 실습 시 runpod 템플릿 관해서 질문드립니다.

0

58

2

runpod에서 google drive 연결 시 오류 발생

0

106

2

로드맵 선택

0

65

1

mmcv

0

56

2

Anchor box의 Positive 처리 위치

0

60

2

해당 강의 runpod 적용 후 에러 제보드립니다

0

83

2

run pod credit 관련 제보

0

95

2

mmdetection 2.x과 3.x 호환 관련 표기

0

76

2

mm_faster_rcnn_train_kitti.ipynb 실행 오류

0

94

3

질문 드립니다.

0

75

3

mm_faster_rcnn_train_coco_bccd 실행 오류 질문드립니다.

0

76

1

강사님께 수정을 제안드리고 싶은 것이 있습니다.

0

92

1

google automl efficientdet 다운로드 및 설치 오류

0

72

1

이상 탐지에 사용할 비전 기술 조언 부탁드립니다.

0

101

2

OpenCV 관련 질문드립니다.

0

69

2

mmcv 설치관련해서 문의드려요

0

326

3

강의 구성 관련해서 질문이 있습니다

1

134

2

모델 변환 성능 질문드립니다.

0

122

1

NMS 로직 문의 드려요

0

111

2