TypeError: Tensors in list passed to 'values' of 'ConcatV2' Op have types that don't all match.

TypeError: Tensors in list passed to 'values' of 'ConcatV2' Op have types [<NOT CONVERTIBLE TO TENSOR>, float32] that don't all match.

我的源代码:

class batch_norm(object):
    def __init__(self, epsilon=1e-5, momentum=0.9, name="batch_norm"):
        with tf.variable_scope(name):
            self.epsilon = epsilon
            self.momentum = momentum
            self.name = name

    def __call__(self, x, w, b, train=True):
        return tf.contrib.layers.batch_norm(x,
                                            decay=self.momentum,
                                            updates_collections=None,
                                            epsilon=self.epsilon,
                                            scale=True,
                                            is_training=train,
                                            scope=self.name), w, b

g_bn_d5 = batch_norm(name='g_bn_d5')

d5 = g_bn_d5(d5, d5_w, d5_b)

d5 = tf.concat([d5, e3], 3)

d5 = g_bn_d5(d5, d5_w, d5_b)

问题造成的原因 简单的说就是类型不匹配的问题  一个是元组    一个是numpy

 # 注意g_bn_d5返回总共有三个结果 但是我的调用接收返回值的时候 却只有一个结果 所以在进行tf.concat()的时候 就报错了

 

解决答案: 

将d5   = g_bn_d5(d5, d5_w, d5_b)  修改成  d5 , w5, b5  = g_bn_d5(d5, d5_w, d5_b) 即可

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值