Naver-AI-Hackathon / AI-Vision

67 stars 34 forks source link

nsml 체크포인트 개념이 이해가 되지 않습니다. #70

Open comisputer opened 5 years ago

comisputer commented 5 years ago

nsml subit으로 제출시 checkpoint를 지정하는 부분이 있는데 checkpoint가 무엇인지 정리한 자료를 찾지 못했습니다.

체크포인트를 따로 지정하지 않았으면 1로 두면 되나요?

comisputer commented 5 years ago

..Error: Fail to get prediction result: CAU_LOVER/ir_ph1_v2/1/1 time="2019/01/03 18:39:43.115" level=fatal msg="Internal server error"

https://github.com/AiHackathon2018/AI-Vision/issues/61 해당 질문에서 같은 오류가 발생했음을 확인했습니다. 좀 더 자세한 설명 부탁드려도 될까요? infer 함수를 수정하려 하는데 감이 오지 않습니다.

함수상에 나와있는

Query 개수: 195

    # Reference(DB) 개수: 1,127
    # Total (query + reference): 1,322

와 해당질문에서 말씀하신 Query의 개수가 차이가 있는데 어떤게 맞는건가요?

Hackoperation commented 5 years ago

안녕하세요.

checkpoint 는 세션에서 nsml.save()로 저장한 모델을 가리킵니다.

nsml model ls [session]명령어로 체크포인트를 확인할수있습니다.

전체 터미널로그를 보여주시면 좀더 정확히 찾을수있을것같지만, 우선 CAU_LOVER/ir_ph1_v2/1의 에러 내용은 다음과 같습니다.

  File "main.py", line 69, in infer
    reference_vecs = get_feature_layer([reference_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[1127,32,224,224] 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="SAME", strides=[1, 1, 1, 1], 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.

감사합니다.