小编Ana*_*kin的帖子

我如何在 keras 中使用带有灰度图像的中性网络

我正在尝试对灰色图像进行训练。的batch_size = 32, image size = (48*48)。我定义了我的网络input_shape = (48,48,1)。训练网络时出现如下错误。

错误 :

ValueError:检查输入时出错:预期 conv2d_17_input 有 4 个维度,但得到了形状为 (32, 48, 48) 的数组

model.add(Conv2D(32, kernel_size=(5, 5),
                 activation='relu',
                 input_shape=(48,48,1)
                )
         )
Run Code Online (Sandbox Code Playgroud)

neural-network keras

3
推荐指数
1
解决办法
2849
查看次数

Keras Conv2D 自定义内核初始化

我需要用权重初始化自定义 Conv2D 内核

W = a1b1 + a2b2 + ... + anbn

其中 W = 要初始化的 Conv2D 层的自定义权重

a = 随机权重张量 as keras.backend.variable(np.random.uniform()), shape=(64, 1, 10)

b = 固定基础滤波器定义为keras.backend.constant(...), shape=(10, 11, 11)

W = K.sum(a[:, :, :, None, None] * b[None, None, :, :, :], axis=2) #shape=(64, 1, 11, 11)

我希望我的模型更新“W”值,只更改“a”,同时保持“b”不变。

我通过自定义 'W' 作为

Conv2D(64, kernel_size=(11, 11), activation='relu', kernel_initializer=kernel_init_L1)(img)

其中kernel_init_L1收益keras.backend.variable(K.reshape(w_L1, (11, 11, 1, 64)))

Problem: 我不确定这是否是正确的方法。是否可以在 Keras 中指定哪些是trainable哪些不是。我知道可以设置图层, trainable = True但我不确定权重。 …

python conv-neural-network keras

0
推荐指数
1
解决办法
5397
查看次数