我正在尝试设计一个神经网络,其中包括具有不同长度的时间相关输入,并且我目前正在使用Masking层。 该网络在TensorFlow 1.9.0版中运行良好,但是在更新到1.11.0版后,出现以下错误:
图层conv2d_1不支持遮罩,但传递了input_mask:Tensor(“ cnn1 / Reshape_2:0”,shape =(?, 81,81),dtype = bool)
关于如何解决此问题的任何想法?
我正在使用以下代码:
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, \
TimeDistributed, Dense, Masking, Activation, BatchNormalization
model= Sequential()
# first layer
model.add(TimeDistributed(Masking(0., input_shape=(81,81,3)),
input_shape=(None,81,81,3), name='mask'))
# CNN layers
model.add(TimeDistributed(Conv2D(filters=10,
kernel_size=5,
strides=1,
padding='same'),
name='cnn1'))
model.add(Activation('relu', name='relu1'))
model.add(BatchNormalization())
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2))))
# output layer
model.add(TimeDistributed(Dense(3, name='output')))
model.add(Activation('softmax'))
# compilation
model.compile(loss='categorical_crossentropy')
答案 0 :(得分:0)
使用tensorflow替换您的keras导入:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, \
TimeDistributed, Dense, Masking, Activation, BatchNormalization