使用Lambda解决_inbound_nodes错误


Keras出现了下面的错误:

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

原因是使用了Keras backend的reshape操作:

x = K.reshape(x, (num_pictures, 32, 32, 512))

但是Keras backend并不是一个Layer,于是出现了上面的错误.解决的方法是使用Lambda,Lambda用于定义一个Layer,其中没有需要学习的变量,只是对Tensor进行一些操作.先定义一个reshape的函数:

def reshape_tensor(x, shape):
    return K.reshape(x, shape);

然后再调用这个函数:

x = Lambda(reshape_tensor, arguments={'shape': (num_pictures, 32, 32, 512)})(x)

这样就不会出错了.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM