gpt4 book ai didi

python - Tensorflow 模型未正确加载

转载 作者:行者123 更新时间:2023-11-28 17:12:22 25 4
gpt4 key购买 nike

我目前正在尝试为我的公司训练一个 word2vec 模型。为此,我使用了 https://github.com/tensorflow/models 上的代码, 具体来说 https://github.com/tensorflow/models/blob/master/tutorials/embedding/word2vec.py .

我下载了德语维基百科转储并从中提取了文本信息。任务是使用这些数据训练模型。

我在一台装有 Ubuntu 16.04 并可以访问 Tesla M60 的虚拟机上工作。周末我训练了模型并将检查点保存在一个单独的文件夹中。在周末结束时,该模型能够回答我给他的评估问题中的 36%(类似于示例“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.

我添加了用于加载模型的两行 (saver = ...) 并注释掉了训练行。查看元数据和最新的检查点文件以及张量板显示了经过训练的模型,但是当我运行代码时,评估结果为 0.1% 正确答案,在我看来这就像模型以未经训练的模型重新启动.我预计结果还是 36%

谁能告诉我我在代码中或什至在我的想法中犯的错误?

最佳答案

你可能在打电话恢复模型后,build_graph 中的 tf.global_variables_initializer().run()。所以你基本上加载了权重,然后用初始化值覆盖它们,你的网络从头开始。

我为一个使用 Latin 的小项目实现了使用命令行选项恢复检查点,您可以在此处查看代码: https://github.com/CarstenIsert/LatinLearner/blob/master/word2vec.py

关于python - Tensorflow 模型未正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46785690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com