tensorflow 错误杂记

ValueError:No gradients provided for any variable

  • 错误解释:要进行训练的变量与 Loss function 之间没有路径联系起来
  • 原因:很大可能是因为在 sess.run(train_step) 使用了 sess.run() 或者是 x.eval()
  • 修改方法:在训练之前,不要使用任何的 run ,修改代码,使得所有的 op 在最后的会话 ‘session’ 中进行实现

训练之后输出的结果为 nan

具体的原因不太清楚,我改正我这个问题的做法是将前面代码的 tf.nn.softmax(x) 改为了 tf.nn.log_softmax(x) 就解决了


ValueError: setting an array element with a sequence

通常是因为这儿需要的是 array,你用的是 list,或者需要的是 list, 你用的 array, 从这方面入手进行改错


优化器 optimizer,GradientDescentOptimizer 不报错,RMSPropOptimizer,AdamOptimizer 会报错

因为 AdamOptimizer, RMSPropOptimizer 他们在内部会生成新的变量,所以 tf.initialize_all_variables() 应该在 optimizer 定义的后面再运行,不能在前面运行。

未完待续…

猜你喜欢

转载自blog.csdn.net/tiankongtiankong01/article/details/81385777