tensorflow几个常见错误

错误一:二分类,标签y

ValueError: Cannot feed value of shape (128,1) for Tensor u'input_y_2:0', which has shape '(?, 2)'

我的输入y_train维度为(128,1),即是一个向量,batch_size为128.

在tensorflow中你在做数据喂养的时候你输入的是一个一维数组如:[0,1,0],他的shape 为(3,)

在tensorflow中一维数组是不能与同样的一维数组进行运算的,必须通过reshape成为(1,3)而

另一个一维数组必须是(3,1)才能相乘,但是在numpy中两个一维数组相乘是不会报错的,

这个原因是在tensorflow中向量是不能和矩阵进行运算的,你需要把他改成二维的矩阵才能运算;

故:将原来的y_train = [0,1,1,0,1,0,……]改成 [ [ 0] , [1] , [1] , [0], [1] , [0] ,……]形式

y_train = np.array(y_train[start_index: end_index]).reshape(-1, 1)

接着产生第二个错误:

InvalidArgumentError: You must feed a value for placeholder tensor 'input/y-input' with dtype float and shape [?,2]
记住:二分类的num_classes = 1,这里报错是因为我的num_classes = 2。

接着产生第三错误:双向RNN的模型

Tensorflow: unable to share dense/kernel - ValueError: Trying to share variable dense/kernel, but specified shape (128, 1) and found shape (128, 2)

原因:name_scope可能取相同的名字。

解决:

(第一)

  • Give each layer a unique name
  • Put everything in a variable_scope with reuse=tf.AUTO_REUSE (for the Adam optimizer)

(第二):

删除这一个代码【虽然不知道原因是什么,merge_all会报错】:merged_summary = tf.summary.merge_all()

 

 

转载于:https://www.cnblogs.com/Lee-yl/p/11233986.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值