naver / nlp-challenge

NLP Shared tasks (NER, SRL) using NSML
177 stars 68 forks source link

mode=='train' 시점에 생성한 중간 파일이 submit 시에는 존재하지 않습니다 #35

Open gyusu opened 5 years ago

gyusu commented 5 years ago

necessary.pkl 과 같은 intermediate 파일을 mode=='train' 시점에 생성하여 ":/bin:/usr/bin"에 해당 파일이 저장된 것을 확인하였으나, submit 시에는 ":/bin:/usr/bin"에 해당 파일이 존재하지 않는 것을 확인하였습니다. (nsml run 시 업로드된 파일만 존재)

이 방법 잘못되었다면, train 시점에 생성된 파일을 submit 시점에서 접근할 수 있는 다른 방법이 있나요?

nsml-admin commented 5 years ago

안녕하세요~

submit시에는 기존에 run했던 세션을 복사해오고 중간에 생성된 파일은 복사해오지않습니다.

방법은 여러가지가 있겠는데요

  1. intermediate파일을 nsml.save() 함수로 저장합니다. baseline코드에는 없지만, bind_model 함수에 텐서플로우의 sess뿐만아니라 다른 변수들도 전달한후 save, load함수에서 해당변수를 참조, 로드할수있습니다. https://n-clair.github.io/nlp-challenge-docs/_build/html/ko_KR/contents/nsml_library/nsml_bind.html

  2. 간단한 방법으로는 necessary.pkl과 같이 트레이닝으로 만들어진 intermediate파일을 nsml download명령어로 가져온후 main파일과 같은 위치에 복사한후 run시키는 방법이있습니다.

감사합니다

Kcrong commented 5 years ago

@nsml-admin nsml download 을 할 때, 예시 명령어를 주실 수 있나요?

$ nsml download teamname/NER/123  data -f '/app/main.py'

이런 식으로 진행했으나 Invalid filename character 라는 에러만 뜹니다.

Refer: https://n-clair.github.io/nlp-challenge-docs/_build/html/ko_KR/contents/session/download_a_session_data.html?highlight=download

또한 위 문서와 실제 nsml 바이너리의 인자 설명이 다른데, 어떤 것이 맞는 건가요? image

nsml-admin commented 5 years ago

@Kcrong 예시명령어는 다음과 같이 사용하실수있습니다. $nsml download nsmlteam/None/8 ./ -s /app/main.py

문서와 안맞는부분은 수정되었고, 바이너리에 맞춰서 사용하시면 됩니다.

제보 감사드리며 불편을드려서 죄송합니다.

감사합니다

Kcrong commented 5 years ago

확인했습니다. 처리 감사합니다