교육 및 네트워크 실행을 위해 저장된 검사 점에서 모델을로드하기 위해 tensorflow 관리자 (https://www.tensorflow.org/programmers_guide/supervisor)를 사용했습니다. 그러나 체크 포인트 파일은 모델을 실행/평가 (graph.pbtxt의 타임 스탬프, model.ckpt.data 파일이 업데이트되고 새 events.out이 생성 됨) 될 때에도 업데이트된다는 사실을 알게되었습니다.교육 및 평가 작업 모두를위한 Tensorflow 감독자?
모델을 실행/평가하는 데 관리자를 사용하면 훈련 된 상태가 재설정되거나 변경되는 지 궁금합니다. 훈련 이외의 것을 감독자에게 사용하는 것이 바람직합니까?
기차 -
sv = tf.train.Supervisor(logdir=mylogdir)
with sv.managed_session() as sess:
if not sv.should_stop():
train_step.run(feed_dict={x: xtrain, y_: ytrain, keep_prob: 0.5}, session= sess)
실행/만 평가합니다. 아래에서 모델의 숙련 된 상태를 수정하지 않으려합니다.
sv = tf.train.Supervisor(logdir=mylogdir)
with sv.managed_session() as sess:
for yconv in sess.run(y_conv, feed_dict={x: xtest, keep_prob: 1.0}):
#use yconv to predict, evaluate etc.
감사를 표시 API의에서와 같이 평가 결과를 저장하기위한 또한 다른 디렉토리를 선택할 수 있습니다 ("
logdir
") :편집 할 수 있습니다. 평가 코드는 model.ckpt 파일의 타임 스탬프를 변경합니다. 왜 그거야? – Achilles
마지막 편집을 참조하십시오, 도움이 될까요? – yuval
고마워, 네. 교육 데이터 (모델 * 파일에 저장되어 있다고 가정)에 대해 우려하고 있습니다. 평가 - sess.run의 yconv (y_conv, feed_dict = {x : xtest, keep_prob : 1.0}) :'-이 모델 * 파일 (적어도 시간 소인)을 업데이트하는 것처럼 보입니다. 왜 변경 사항이 교육에 영향을 미치는지 궁금합니다. 어떤 방식 으로든 파일 내에 저장된 데이터. 이상적으로는 읽기 전용 모드로 액세스하는 것이 좋습니다. 다른 디렉토리 사용에 대한 제안을 주셔서 감사합니다. 평가를 위해 숙련 된 모델을 복사하는 중간 과정을 시도해 볼 수도 있습니다.하지만이 작업을하지 않고 작동되기를 바라고 있습니다. – Achilles