Naver-AI-Hackathon / AI-Vision

67 stars 34 forks source link

submit 문제 질문입니다. #215

Open kitoha opened 5 years ago

kitoha commented 5 years ago

Informations

CLI

WEB

NSML login ID 가 무엇인가요? kitoha

문제가 발생한 세션은 어떤건가요? (bug message or screenshot) rev 20
문제 상황 : submit을 시도 시 oom(out of memory)가 발생하여 error 처리가 됩니다.

재현방법은 어떻게 되나요? 학습을 완료 후 해당 세션을 submit -t를 통해 디버깅을 완료 후 문제가 없어 submit을 시도 하였습니다.

예상했던 동작방식은 무엇인가요? submit이 완료되어 스코어가 출력될 것으로 예상됩니다.

제안하고 싶은 해결방법이 있나요?

질문 : run과 submit -t에서 oom 에러가 없었는데 submit시 oom 에러가 발생합니다. 어떠한 이유가 있을 까요? 답변 주시면 감사드리겠습니다.

DevKiHyun commented 5 years ago

제가 보기엔 test 단계에서 불러오는 데이터 수는 qeury 랑 refer 가 10개 밖에 안불러와서 OOM이 발생 안하신 것 같아요.

nsml-admin commented 5 years ago

전보다 데이터 사이즈가 커져서 예선1차에서 사용하던 코드를 그대로사용하면 메모리 관련된 에러가 발생할수있습니다.

그부분을 참고해서 inference시에 코드를 다시 바꿔주셔야할것 같습니다. 참고로 에러내용은 아래와 같습니다.

  File "main.py", line 64, in infer
    query_vecs = get_feature_layer([query_img, 0])[0]
  File "/opt/conda/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 2715, in __call__
    return self._call(inputs)
  File "/opt/conda/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 2675, in _call
    fetched = self._callable_fn(*array_vals)
  File "/opt/conda/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1399, in __call__
    run_metadata_ptr)
  File "/opt/conda/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 526, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[9014,96,54,54] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
     [[{{node conv2d_1/convolution}} = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 1, 4, 4], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](conv2d_1/convolution-0-TransposeNHWCToNCHW-LayoutOptimizer, conv2d_1/kernel/read)]]
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.

감사합니다.