tensorflow session.run()在尝试根据教程代码恢复rnn模型时挂起

时间:2017-02-24 07:51:27

标签: python tensorflow recurrent-neural-network

我已经在TenserFlow教程中浏览了RNN代码:https://www.tensorflow.org/tutorials/recurrent

原始RNN代码位于:https://github.com/tensorflow/models/blob/master/tutorials/rnn/ptb/ptb_word_lm.py

我将训练有素的RNN模型保存为' train-model'通过

if FLAGS.save_path:
    print("Saving model to %s." % FLAGS.save_path)
    sv.saver.save(session, FLAGS.save_path, global_step=sv.global_step)

现在我尝试恢复已保存的模型并通过

运行其他测试
with tf.name_scope("Test"):
    test_input = PTBInput(config=eval_config, data=test_data, name="TestInput")
    with tf.variable_scope("Model", reuse=None, initializer=initializer):
        mtest = PTBModel(is_training=False, config=eval_config,
                     input_=test_input)

save = tf.train.Saver()

with tf.Session() as session:
    save.restore(session, tf.train.latest_checkpoint("./"))
    test_perplexity = run_epoch(session, mtest)

似乎模型已正确加载,但它挂在

    vals = session.run(fetches, feed_dict)
函数run_epoch中的

,在调用计算test_perplexity时。 CTRL-C无法退出程序,GPU利用率为0%,因此很可能会阻止某些内容。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

尝试从源安装Tensorflow。建议您使用,因为您可以为特定体系结构(GPU,CUDA,cuDNN)构建所需的Tensorflow二进制文件。

这甚至被提到是提高Tensorflow性能的最佳实践之一。检查Tensorflow performance Guide。摘录自同一小部分:

  

从源代码构建,针对目标硬件进行编译器优化,并确保安装最新的CUDA平台和cuDNN库,从而实现最高性能的安装。

您提到的问题通常发生在构建Tensorflow二进制文件的配置计算能力与GPU不同时。但是从源代码安装它可以让您选择配置特定的Compute Capability。查看guide for installing from source