TypeError: Fetch argument ~ has invalid type, must be a string or Tensor. (Can not convert a float32 into a Tensor or Operation.)

今天,调试tensorflow的时候,出现了以上错误。 看了半天代码没有都发现真正的错误。

其出错的状况特别奇怪:迭代的第一步运行十分流畅,但是第二步就开始报错。错误信息,见上。

google了一下才恍然大悟。

https://stackoverflow.com/questions/38306330/tensorflow-typeerror-on-session-run-arguments-output/

stackoverflow也有人有类似经历。。。

 _, l, train_predictions  = session.run([optimizer, loss, train_predictions],  feed_dict =feed_dict)

不知道各位看出错误来没有。tensorflow的命名空间很重要。

第一次正确运行后

train_predictions 已经有值了,假设其为,0.25.

那么下次迭代,代入train_predictions就会报错了。

因为,出现了以下的代码调用:

 _, l, trained_predictions  = session.run([optimizer, loss, 0.25],  feed_dict =feed_dict)

显然,tensorflow不能理解这一调用方式。自然报出type error的错误。