从 tensorflow 插件实现随机深度导致 ValueError:维度必须相等错误

问题描述 投票:0回答:0

我对深度学习很陌生,我想从这篇论文中实现随机深度:https://arxiv.org/pdf/1603.09382.pdf

TensorFlow 插件已经有一个随机深度层。我正在进行二值图像分类,我的输入层形状是 (250, 250, 3)。

这是模型

inputs = tf.keras.layers.Rescaling(1./255)

inputs = tf.keras.Input(shape=(250, 250, 3))

residual = tf.keras.layers.Conv2D(174, 3, activation='relu', padding='SAME')(inputs)
x = tfa.layers.StochasticDepth()([inputs, residual])
x = tf.keras.layers.MaxPooling2D()(x)

residual = tf.keras.layers.Conv2D(174, 3, activation='relu', padding='SAME')(x)
x = tfa.layers.StochasticDepth()([x, residual])
x = tf.keras.layers.MaxPooling2D()(x)

residual = tf.keras.layers.Conv2D(1764, 3, activation='relu', padding='SAME')(x)
x = tfa.layers.StochasticDepth()([x, residual])
x = tf.keras.layers.MaxPooling2D()(x)

x = tf.keras.layers.Flatten()(x)
x = tf.keras.layers.Dropout(0.5)(x)
outputs = tf.keras.layers.Dense(num_classes, activation="softmax")(x)

model = tf.keras.Model(inputs=inputs, outputs=outputs)

我无法从 250、250、3 更改输入形状。因此,显示的错误是

 ValueError: Dimensions must be equal, but are 3 and 174 for '{{node stochastic_depth/add}} = AddV2[T=DT_FLOAT](Placeholder, stochastic_depth/mul)' with input shapes: [?,250,250,3], [?,250,250,174].

我想将我的 Conv2D 层中的神经元数量保持在 174,因为它效果最好。

有什么想法吗?

谢谢

python tensorflow machine-learning deep-learning image-classification
© www.soinside.com 2019 - 2024. All rights reserved.