AI-GrandChallenge / round-1

14 stars 11 forks source link

[트랙 1] 파일 저장 문의 사항 #129

Closed loverectangle closed 4 years ago

loverectangle commented 4 years ago

저희는 docker에서 파일을 저장한 후, 처리를 하는 식으로 구현을 했습니다.

실행을 해보니 파일이 저장이 전혀 안되는 것 같은데, 혹시 submit 시에 파일 저장을 막은 것인지 궁금합니다.

nsml-admin commented 4 years ago

안녕하세요.

도커에 파일을 저장을 했다는게, 세션에 파일을 저장하셨다는 말씀인가요?

세션에 저장된 파일을 다른세션에서 가져오는 방법은 nsml.save() 로 저장후 submit타임때 nsml.load()를 이용해서 호출하는 방법외에는 없습니다.

submit시에 파일저장을 막진 않았습니다.

loverectangle commented 4 years ago

저희는 submit 시에 도커 내에 생성되는 파일을 꼭 이용 해야하는데 방법이 없을까요...?

loverectangle commented 4 years ago

submit 시 도커에 파일을 저장한 후 그 파일을 다시 읽어오는 구조인데 파일 저장이 되지않는 상황입니다.....

nsml-admin commented 4 years ago

submit 시에 파일 저장을 막아둔건 아니지만, submit후에는 세션을 삭제하게 되어 있어서 그 파일을 이용할방법은 없습니다.(테스트데이터셋의 유출을 막기위해) submit시에 도커내에서(세션에서) 생성되는 파일을 이용하는방법은 없습니다.

loverectangle commented 4 years ago

submit 시(infer 함수내에서) 도커에 파일을 생성하고 바로 다시 읽어서 처리를 합니다. submit 끝나기 전에 하는 건데 그것도 불가능한가요..?

nsml-admin commented 4 years ago

submit타임때 파일로 저장하고, 그 다시 읽어서 제출하는 방식은 가능할것같습니다.

혹시 에러로그나 아니면 에러가 발생한 세션이 있나요?? 알려주시면 에러내용 확인해드리겠습니다.

loverectangle commented 4 years ago

....... Building docker image. It may take a while .........load nsml model takes 0.28513574600219727 seconds .Infer test set. The inference should be completed within 3600 seconds. .Error occurred while inference. You can check error 'nsml submit --test' FileNotFoundError: [Errno 2] No such file or directory: '/keypoints.csv'

Infer test set takes 1503.7536029815674 seconds ..Error: Fail to get prediction result: t0120/tr-1/107/model FATA[2020/07/31 15:02:54.797] Internal server error

입니다!

nsml-admin commented 4 years ago

확인해보니 /keypoints.csv 란 파일은 없습니다. docker 만들때 파일의 이름을 헷갈리신거 같은데요,확장자 명까지 다시한번 확인해보시기 바랍니다.

loverectangle commented 4 years ago

모델을 돌렸을때 파일이 생성되는데, 그 파일이 로컬에서 접속한 docker에서는 생성이 됩니다. 하지만 nsml submit시 infer함수 내에서 subprocess로 실행했을때에는 생성이 안됩니다..

nsml-admin commented 4 years ago

제가 해당 세션(t0120/tr-1/107)을 확인했을땐, keypoints.txt 파일이 있었고 keypoints.csv 파일은 없었습니다.

파일이름을 잘못 입력하여 접근 하였거나 파일 생성시점과 접근시점이 달라서 파일을 못찾는 문제일수도있을거같습니다.

loverectangle commented 4 years ago

그것은 원래 도커에 넣어놓았던 파일입니다. subprocess call 함수에서 모델을 실행시켜야만 csv 파일이 나오는 방식인데, 그 파일이 저장되지 않아 질문드립니다.

nsml-admin commented 4 years ago

음.. 그렇다면 submit -t로 디버깅하면서 확인하는 방법밖에는 없을것같습니다.

submit 이라도 로컬 어딘가에 파일을 저장하는것은 가능합니다.

loverectangle commented 4 years ago

감사합니다.