我目前正在嘗試爲我的公司培訓word2vec模型。 爲此,我使用了https://github.com/tensorflow/models上的代碼,特別是https://github.com/tensorflow/models/blob/master/tutorials/embedding/word2vec.py。Tensorflow模型加載不正確
我下載了德文維基百科轉儲並從中提取了文本信息。任務是用這些數據訓練一個模型。
我使用的是具有Ubuntu 16.04和訪問特斯拉M60的虛擬機。在週末,我訓練了模型並將檢查點保存在一個單獨的文件夾中。在週末結束時,模型能夠回答我給他的評估問題(類似於「questions-word.txt」示例的德語問題)。訓練後,我想加載模型並再次運行評估任務。 爲此,我在下面的行(除路徑中的變化)改變了代碼:我添加
with tf.Graph().as_default(), tf.Session() as session:
saver = tf.train.import_meta_graph(opts.save_path + "/model.ckpt-288720426.meta")
saver.restore(session, tf.train.latest_checkpoint('./results'))
print("Model restored.")
with tf.device("/cpu:0"):
model = Word2Vec(opts, session)
model.read_analogies() # Read analogy questions
for _ in xrange(opts.epochs_to_train):
#model.train() # Process one epoch
model.eval() # Eval analogies.
我增加了兩行加載模型(保護程序= ...)和註釋訓練線。查看元和最新的檢查點文件和tensorboard顯示一個訓練有素的模型,但是當我運行代碼時,評估結果在0.1%正確的答案,這在我看來像模型重新啓動未經訓練的模型。我預計結果再次是36%。
有人可以告訴我我在代碼中犯的錯誤,或者甚至在我的想法?
謝謝你的幫助。使用鏈接中發佈的行替換建議的行實際上解決了問題! –