keras AttributeError: 'NoneType' object has no attribute '_inbound_nodes'

“#”’keras AttributeError: ‘NoneType’ object has no attribute ‘_inbound_nodes’

在写keras 搭建网络的时候
concatenated是一个(?,100,60)维度的tensor,下面卷积层输入需要时4Dtensor

concatenated是一个(?,100,60)维度的tensor,下面卷积层输入需要时4Dtensor]
所以中间需要给tensor增加一个维度变成(?,100,60,1),但是keras中使用numpy进行维度变换会导致结果是一个numpy类型的数据,不能传递到下一层网络中,网上搜的numpy转tensor的方法都需要使用tensorflow。如果使用tensorflow中的tf.expand_dims也会在下面这个地方报错报错:AttributeError: ‘NoneType’ object has no attribute ‘_inbound_nodes’

网上搜说是keras中不能直接用tensorflow的一些什么定义函数。所以失败。
还试着在两层之间加一个backend.expand_dims还是出现上面错误。我就一直误以为是keras中用了tf相关的问题。
后来继续网上找答案,发现了问题所在(感谢这个答案:https://stackoverflow.com/questions/44627977/keras-multi-inputs-attributeerror-nonetype-object-has-no-attribute-inbound-n),
是因为中间keras.backend.xxx不是layer。中间需要添加layer后面model的时候才可以成功。于是就用了keras中的lambda实现了增加tensor增加维度。
写了一个增加维度的方法
在两层之间使用这个增加tensor维度
第一次写,为了记录错误更加进步,如有问题错误请各位大佬们指正。感谢。

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值