TypeError: Can not convert a float32 into a Tensor or Operation.

原创 2017年08月09日 21:03:55

错误

TypeError: Can not convert a float32 into a Tensor or Operation.
# 类型错误:不能将一个浮动32转换为一个张量或操作。

TypeError: Fetch argument 2.3025854 has invalid type <class 'numpy.float32'>, must be a string or Tensor. (Can not convert a float32 into a Tensor or Operation.)

如其意,类型错误:不能将一个浮动32转换为一个张量或操作。也就是在计算图实际运算的时候发生的错误,错误为数据类型错误,将应该是传入的张量或者操作的的地方传入了一个 float32 类型的数据.

分析

源码

      for step in range(1000):
            batch_xs, batch_ys = mnist.train.next_batch(100)
            _, Train_Loss = sess.run([Train_Step,Train_Loss], feed_dict={X: batch_xs, Y_true: batch_ys})
            print('Train step :',step,'Train_Losss :',Train_Loss)

错误产生的时候我查了查代码,没明白什么意思,后来debug才发现,是变量在第二遍运行的时候数据类型发生了改变,
变量的数据类型发生了改变

其改变是在第一遍的时候,仔细看源代码,输出的Train_Loss与后面sess.run([Train_Step,Train_Loss], feed_dict={X: batch_xs, Y_true: batch_ys})中的’Train_Loss’同名,显然第一遍运行之后,原本应该传入session的Train_Loss就从张量变成了 float32

解决方案

避免重名,使用不同的名字
如原来的

_, Train_Loss = sess.run([Train_Step,Train_Loss], feed_dict={X: batch_xs, Y_true: batch_ys})

改为

 _, train_loss = sess.run([Train_Step,Train_Loss], feed_dict={X: batch_xs, Y_true: batch_ys})

BUG就消失了
这是一个很低级的BUG…..但是也很有趣.

版权声明:欢迎转载,共同学习,但请尊重版权,标明出处:http://blog.csdn.net/fontthrone

[tensorflow]TypeError: Fetch argument .+ has invalid type

TypeError: Fetch argument * has invalid type type 'numpy.float32'>, must be a string or Tensor. (Can...
  • u013805817
  • u013805817
  • 2017年03月06日 23:59
  • 3266

TypeError: Cannot convert Type TensorType(float32, matrix).....

TypeError: Cannot convert Type TensorType(float32, matrix)…..最下面链接给的错误是cannot conver… 64 to 32,解决方案是...
  • m0_37052320
  • m0_37052320
  • 2017年11月07日 09:04
  • 197

has invalid type <class 'numpy.ndarray'>, must be a string or Tensor

has invalid type , must be a string or Tensor
  • jacke121
  • jacke121
  • 2017年12月18日 15:55
  • 234

TensorFlow踩坑记:Can not convert a ndarray into a Tensor or Operation.

今天掉进一坑,爬了好一会踩爬出来,先将问题记录一些,谨以此献给出现同样错误的同学,错误:Can not convert a ndarray into a Tensor or Operation. “...
  • Michael__Corleone
  • Michael__Corleone
  • 2018年01月08日 21:28
  • 171

Tensorflow踩坑记

这里是踩坑纪录,大家如果想看教程的话请出门右转~从前有个小孩,正在学习TF,一开始,写了个逻辑回归的优化程序:import tensorflow as tf import numpy as npx=t...
  • hejunqing14
  • hejunqing14
  • 2016年09月28日 15:38
  • 7984

TensorFlow 基本使用

Tensorflow的基本使用简介。
  • YhL_Leo
  • YhL_Leo
  • 2016年02月02日 13:35
  • 43702

Cannot interpret feed_dict key as Tensor: Can not convert a method into a Tensor.

代码: input1 = tf.placeholder(tf.types.float32) input2 = tf.placeholder(tf.types.float32) output = tf....
  • zhongxinleishi
  • zhongxinleishi
  • 2017年08月21日 13:36
  • 1129

TensorFlow番外篇——module 'tensorflow' has no attribute 'xxx'

对着TensorFlow中文社区的教程敲了一部分,最经常出现的错误就是module 'tensorflow' has no attribute 'xxx'原因是TensorFlow新版本修改了许多函数...
  • PinkRiverside
  • PinkRiverside
  • 2017年06月04日 17:24
  • 5016

TensorFlow 遇到的问题(三)

关键字:TypeError: Cannot interpret feed_dict key as Tensor: Can not convert a int into a Tensor 解释:你...
  • ice_pill
  • ice_pill
  • 2017年11月18日 11:59
  • 496

python学习中遇到问题

python
  • nogod2015
  • nogod2015
  • 2016年01月22日 14:20
  • 1997
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TypeError: Can not convert a float32 into a Tensor or Operation.
举报原因:
原因补充:

(最多只允许输入30个字)