Open kitoha opened 5 years ago
제가 보기엔 test 단계에서 불러오는 데이터 수는 qeury 랑 refer 가 10개 밖에 안불러와서 OOM이 발생 안하신 것 같아요.
전보다 데이터 사이즈가 커져서 예선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.
감사합니다.
Informations
CLI
OS (Mac, Windows, Linux, etc) and version: Windows10
client version(please show nsml --version): Built: 2019-01-23T18:07:25+09:00 Go: go1.11.4 GOARCH: amd64 GOOS: windows Protocol: 20181214 Revision: 1f6a758e6d9a2c0e5bdc8e439394a9259213cd8a (not-modified) Preconfigured connection: hack-cli.nsml.navercorp.com
전체 실행 명령어: nsml submit CatNerve/ir_ph2/20 199
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 에러가 발생합니다. 어떠한 이유가 있을 까요? 답변 주시면 감사드리겠습니다.