python - 如何恢复 tensorflow 模型?

标签 python tensorflow word2vec

我正在尝试使用 .ckpt 恢复模型文件,这是我通过运行 word2vec_optimized.py 得到的在tensorflow/models/embedding .我不确定如何恢复变量以便我可以加载模型并使用它,因为所有 tf​​ 变量都封装并初始化在 tensorflow/models/embedding/word2vec_optimized.py 中的类中。 .任何帮助,将不胜感激。

此外,如果我“恢复”.ckpt创建,我现在有一个Wor2Vec吗?实例或者当我使用 .ckpt 恢复模型时我实际得到了什么?

最佳答案

当您在保护程序上调用保存功能时,您将它传递给您用于训练模型的 tf.Session。这包含对包含所有变量的图形的引用。不要混淆 python 变量和 tensorflow 变量。即使您在 python 中不再有指向您创建的 tensorflow 变量的变量,如果它是计算图的一部分,它仍然存在。创建模型后,尝试运行以下代码。

for v in tf.all_variables():
    print(v.name)

这将打印出您创建的每个变量的名称。默认情况下,保存程序将保存所有这些。只要变量在您恢复它们时具有相同的名称,那么它们是在哪里创建的并不重要。只需确保在将所有变量添加到模型后进行恢复即可。当您为变量提供初始化程序时,初始化仅在您调用 sess.run(tf.initialize_all_variables()) 时运行。如果您只是恢复值,则不需要调用它。我经常使用下面的代码。

sess = tf.Session()
saver = tf.train.Saver()
if 'restore' in sys.argv:
    saver.restore(sess, '/media/chase/98d61322-9ea7-473e-b835-8739c77d1e1e/model.chk')
else:
    sess.run(tf.initialize_all_variables())

当我使用在其中创建变量的 thensorflow RNN 类时,这段代码工作正常。

关于python - 如何恢复 tensorflow 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38428294/

相关文章:

c - 德语维基百科上的 Word2vec C++ 培训

nlp - 双元组到向量

python - Odoo:重用选项卡中另一个模型的 TreeView

python - 处理 MNIST 数据时在 TensorFlow 中获取 "InvalidArgumentError"

python - 输入占位符中的 Tensorflow 批量大小

java - 为什么H2O通过Spark而不是直接集成TensorFlow?

pip - Gensim: "C extension not loaded, training will be slow."

Elasticsearch 的 Python 自动批量请求不起作用 "must be terminated by a newline"

python - 在 valgrind 下运行 python 显示很多内存错误是否正常?

python - 获取一个列表并返回有序对中的随机元素(必须是可变的)