Tensorflow seq2seq_model (https://www.tensorflow.org/versions/r0.9/tutorials/seq2seq/index.html)을 사용하는 방법을 배우고 있습니다. 여기서 훈련하는 동안 나는 문제가있어, Tensorflow의 seq2seq_model에 새 버킷 추가
seq2seq_model.Seq2SeqModel(..., listOfBuckets, ...)
는 버킷부터 영원히 소요
에 대한 호출이 대규모로 나열합니다. 각 버킷 경계를 확장하여 목록을 작게 만들려고 시도하면model.step(..)
에 대한 호출에 오래 걸립니다.
내 솔루션은 모든 반복이 새로운 Seq2SeqModel을 만들고 다음 반복에서 Seq2SeqModel을 초기화하는 데 사용하는 파일에 매개 변수를 저장하는 루프를 만드는 것이 었습니다. 그것은 그런 일 같습니다
While cond:
with tf.Session() as sess:
model=seq2seq_model.Seq2SeqModel(..., listOfBuckets, ...)
ckpt = tf.train.get_checkpoint_state(training_dir)
if ckpt and tf.gfile.Exists(ckpt.model_checkpoint_path):
print("Reading model parameters from %s" %ckpt.model_checkpoint_path)
model.saver.restore(session, ckpt.model_checkpoint_path)
doSomething()
checkpoint_path = os.path.join(training_dir, "model.ckpt")
model.saver.save(sess, checkpoint_path,global_step=model.global_step)
listOfBuckets = someNewlistOfBuckets
을하지만 내 질문은 (이미 생성 된 후) 반복을 생성하지 않고 모델에 새로운 버킷을 추가 할 수있는 방법이 있는지, 그래서 가난한 솔루션이 될 것 같다 다시.
감사합니다.