Testing Tensorflow LSTM模型试验

Testing Tensorflow LSTM模型试验,testing,machine-learning,tensorflow,test-data,lstm,Testing,Machine Learning,Tensorflow,Test Data,Lstm,我是LSTM和Tensorflow的新手,我正在尝试使用LSTM模型来学习,然后对我拥有的一些大型数据集进行分类。(我并不担心我想学习的准确性)。 我尝试以与使用LSTM的PTB单词预测教程中类似的方式实现该模型。 教程()中的代码使用下一行使用模型运行会话 cost, state, _ = session.run([m.cost, m.final_state, eval_op], {m.input_data: x,

我是LSTM和Tensorflow的新手,我正在尝试使用LSTM模型来学习,然后对我拥有的一些大型数据集进行分类。(我并不担心我想学习的准确性)。 我尝试以与使用LSTM的PTB单词预测教程中类似的方式实现该模型。 教程()中的代码使用下一行使用模型运行会话

 cost, state, _ = session.run([m.cost, m.final_state, eval_op],
                                 {m.input_data: x,
                                  m.targets: y,
                                  m.initial_state: state})
我对我的示例进行了如下修改(以获取登录并使用它):

因此,如果有人能提供帮助,我的问题如下:

  • 培训时建立的模型如何用于测试?什么 当教程使用3个模型时,每次测试、训练和验证都使用一个模型,这到底是怎么回事
  • 测试时目标是什么(如果我不知道,比如在分类问题中)。在run_epoch()中可以通过使用培训期间构建的模型来进行哪些更改
  • 还有一个问题:调试tensorflow图很困难(我发现理解tensorboard visualizer也很困难),而且我没有找到学习tensorflow的好资源(网站似乎缺少结构/文档)。还有哪些其他资源/调试方法

谢谢。

回答我自己的问题,以帮助任何来到这里的人: 在验证/测试期间,向runepoch()指示它处于验证/测试阶段(使用bool或其他方式)。 不要调用cost op(因为这是唯一需要目标的操作),因此验证/测试阶段的修改代码如下所示:

 state, _,output,logits = session.run([m.final_state, eval_op, m.output,m.logits],
                             {m.input_data: x,
                              m.initial_state: state})

请稍后使用logits来计算准确性。

回答我自己的问题,以帮助任何来到这里的人: 在验证/测试期间,向runepoch()指示它处于验证/测试阶段(使用bool或其他方式)。 不要调用cost op(因为这是唯一需要目标的操作),因此验证/测试阶段的修改代码如下所示:

 state, _,output,logits = session.run([m.final_state, eval_op, m.output,m.logits],
                             {m.input_data: x,
                              m.initial_state: state})

稍后使用logits计算精度。

也许,这些简单的LSTM示例解决了您对TensorFlow中基本LSTM的问题:或者,这些简单的LSTM示例解决了您对TensorFlow中基本LSTM的问题:或者