tensorflow 错误杂记

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-08 10:40:19

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 定义的后面再运行,不能在前面运行。

未完待续…

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!