CNN中的绝对值层

2024-10-05 15:30:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我是CNN的新手。我正在尝试建立一个CNN,我有以下步骤:

model.add(Conv2D(8, (5, 5), input_shape=(256, 256, 1), padding='same', use_bias=False)) # use_bias=False
model.add(BatchNormalization())
model.add(Activation(tanh))
model.add(AveragePooling2D (pool_size= (5,5), strides=2))

我试图在应用2DConv后的第一步之后添加绝对值层。。我正在阅读链接Absolute value layer in CNN中的答案,并尝试以下代码:

rom keras.models import model_from_json
model.add(Conv2D(8, (5, 5), input_shape=(256, 256, 1), padding='same', use_bias=False)) # use_bias=False
    outputlayer1 = model.layers[0].output
    outputlayer = abs(outputlayer1)
    model.layers[0].output = outputlayer
    new_model = model_from_json(model.to_json())
    new_model.summary()

我得到了一个错误:

AttributeError: can't set attribute

请告诉我如何在2Dconv层的输出上应用绝对值。 谢谢你


Tags: fromaddjsonfalseinputmodeluselayers
1条回答
网友
1楼 · 发布于 2024-10-05 15:30:55

访问应用于图像的第2层输出的一种方法是:

from keras.models import Model 
model_part = Model(input = model.input,
               output = model.layers[1].output)
vals = model.predict(image)
print(vals)

无论哪种方式,您都应该检查绝对值层在您的案例中是否有用,或者它是否已经隐含在以下某个层中

相关问题 更多 >