我们如何在keras中使用来自tf.contrib.layers
的图层?
我尝试在其他keras图层中混合使用tf图层。
input = Input(shape=state_shape)
conv = Conv2D(64, (6, 6), strides=(1, 1), activation='relu')(input)
spatial_softmax = tf.contrib.layers.spatial_softmax(conv, name='spatial_softmax', data_format='NHWC')
fc = Dense(128, activation='relu')(spatial_softmax)
fc = Dense(128, activation='relu')(fc)
output = Dense(action_size, activation='softmax')(fc)
Model(inputs=input, outputs=output)
但是当我运行代码时,我收到以下错误
AttributeError: 'Tensor' object has no attribute '_keras_history'
有什么想法吗?
谢谢!
编辑:它与here的问题不同,我要求的是一个具有可训练权重而不是确定性图层的图层。渐变是否会支持到图层?
答案 0 :(得分:0)
我相信你需要把它放在Lambda层中:
spatial_softmax = Lambda(lambda x: spatial_softmax(x, name='spatial_softmax',
data_format='NHWC'))(conv)