Tensorflow 使用较大图像中的补丁作为Keras CNN的dim输入会产生错误';张量';对象没有属性'_keras#u历史'*
我正在尝试创建一个带有keras的CNN,以处理600x600大图中的20x20补丁 当我尝试运行下面的代码时,我收到一个错误AttributeError:“Tensor”对象没有属性“\u keras\u history” 下面的代码仅用于查看总共900个补丁中的第一个20 x 20补丁,在尝试循环整个输入图像之前,我正在尝试实现这一功能 我不明白为什么它会返回错误,因为每个层都是用keras层生成的,而且我没有对张量应用任何其他操作 我使用的是tensorflow 1.3和keras 2.0.6Tensorflow 使用较大图像中的补丁作为Keras CNN的dim输入会产生错误';张量';对象没有属性'_keras#u历史'*,tensorflow,keras,Tensorflow,Keras,我正在尝试创建一个带有keras的CNN,以处理600x600大图中的20x20补丁 当我尝试运行下面的代码时,我收到一个错误AttributeError:“Tensor”对象没有属性“\u keras\u history” 下面的代码仅用于查看总共900个补丁中的第一个20 x 20补丁,在尝试循环整个输入图像之前,我正在尝试实现这一功能 我不明白为什么它会返回错误,因为每个层都是用keras层生成的,而且我没有对张量应用任何其他操作 我使用的是tensorflow 1.3和keras 2.0
nb_filters=16
input_image=Input(shape=(600,600,3))
Input_1R=Reshape((900,20,20,3))(input_image)
conv1=Convolution2D(nb_filters,(5,5),activation='relu',padding='valid')(Input_1R[:,0])
conv4=Convolution2D(1,(6,6),activation='hard_sigmoid',padding='same')(conv1)
dense6=Dense(1)(conv4)
output_dense=dense6
model = Model(inputs=input_image, outputs=output_dense)
发生此错误的原因是在Keras层中未执行切片操作
Input_1R[:,0]
。
您可以将其包装到Lambda
层中:
sliced=Lambda(Lambda x:x[:,0])(输入)
conv1=卷积2D(nb_过滤器,(5,5),激活='relu',填充='valid')(切片)