ai-starthon / AI_Starthon2019

60 stars 44 forks source link

1_reg_dust tf 베이스라인 bug 문의 #183

Open HanyangRobot opened 5 years ago

HanyangRobot commented 5 years ago

올려주신 1번 tf 코드 예제 bind_model 에서 save 함수의 path를 출력해보니

/tmp/tmp_y8rf84j /tmp/tmp010fnlqo 이런식으로 tmp 폴더에 임시파일로 다 저장됩니다. weight 파일이나 모델 정보가 저장이 되도 임시폴더에다가 load 함수 에서의 path도 출력해봤는데 save 함수의 path와 일치하지 않습니다. bind_model 함수 한번 확인해주시기 바랍니다. 확인은 다음과 같이 했습니다.

def save(path, **kwargs):
    os.makedirs(path, exist_ok=True)
    print(os.path.isdir(path))
    print(os.path.abspath(path))
    save_dir=os.path.abspath(path)
    saver.save(sess, os.path.join(save_dir, 'model'))
    print(os.path.join(save_dir, 'model'))
    print(os.listdir(save_dir))

결과 True /tmp/tmp010fnlqo /tmp/tmp010fnlqo/model ['model.data-00000-of-00001', 'model.index', 'checkpoint', 'model.meta']

load 함수 def load(path): save_dir = os.path.abspath(path) print(save_dir) saver = tf.train.import_meta_graph(os.path.join(os.path.join(save_dir, 'model'), 'model.meta')) saver.restore(sess, tf.train.latest_checkpoint(os.path.join(save_dir, 'model')))

load 함수는 폴더명 불일치로 중간에 에러가 나오고 멈춥니다.

nsml-admin commented 5 years ago

안녕하세요.

실제 세션네임과 세션에서 발생된 에러로그를 보여주시기 바랍니다.

HanyangRobot commented 5 years ago

@nsml-admin submit 세션이라 자동으로 삭제되었습니다. cmd창을 껐다켜서 전체적인 오류를 보여드릴수가 없습니다. C:\Users\Ho-Jun>nsml submit -t team_128/1_reg_dust/364 15500 ....... Building docker image. It might take for a while ............ Deleting session: team_128/1_reg_dust/365 Error occurred while loading model You can check error 'nsml submit --test' Traceback (most recent call last): File "main.py", line 21, in load saver.restore(sess, tf.train.latest_checkpoint(path+'/')) File "/opt/conda/lib/python3.6/site-packages/tensorflow/python/training/checkpoint_management.py", line 338, in latest_checkpoint if file_io.get_matching_files(v2_path) or file_io.get_matching_files( File "/opt/conda/lib/python3.6/site-packages/tensorflow/python/lib/io/file_io.py", line 342, in get_matching_files for single_filename in filename File "/opt/conda/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 526, in exit c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.NotFoundError: /tmp/tmp1misktun; No such file or directory

Error: Error occurred while loading model You can check error 'nsml submit --test' time="2019/07/29 09:04:37.802" level=fatal msg="Internal server error"

위와 같은 에러가 발생하였습니다.

앞에 올린 게시글과 동일한 폴더명이 아닌 이유는 tmp 폴더에 생성되었기때문에 동일하지않은 이름으로 뜹니다.

nsml-admin commented 5 years ago

학습세션(team_128/1_reg_dust/364)이 삭제된 상태라서 정확한 진단이 어렵습니다만,

추측하기로는 saver.restore(sess, tf.train.latest_checkpoint(path+'/')) 가 아니라 saver.restore(sess, tf.train.latest_checkpoint(os.path.join(path, 'model'))인것 같은데요,

코드를 수정하고 다시 실행해보시기 바랍니다.

HanyangRobot commented 5 years ago

@nsml-admin 네 답변 감사합니다 시도해보겠습니다.