gpt4 book ai didi

python - ValueError : A `Concatenate` layer requires inputs with matching shapes except for the concat axis. 得到输入形状 : [(None, 523、523、32) 等

转载 作者:行者123 更新时间:2023-12-04 15:41:54 24 4
gpt4 key购买 nike

我正在尝试使用以下代码使用 tensorflow 连接图层,但出现意外错误。我是 tensorflow 的新手

inp = Input(shape=(1050,1050,3))
x1= layers.Conv2D(16 ,(3,3), activation='relu')(inp)
x1= layers.Conv2D(32,(3,3), activation='relu')(x1)
x1= layers.MaxPooling2D(2,2)(x1)
x2= layers.Conv2D(32,(3,3), activation='relu')(x1)
x2= layers.Conv2D(64,(3,3), activation='relu')(x2)
x2= layers.MaxPooling2D(3,3)(x2)
x3= layers.Conv2D(64,(3,3), activation='relu')(x2)
x3= layers.Conv2D(64,(2,2), activation='relu')(x3)
x3= layers.Conv2D(64,(3,3), activation='relu')(x3)
x3= layers.Dropout(0.2)(x3)
x3= layers.MaxPooling2D(2,2)(x3)
x4= layers.Conv2D(64,(3,3), activation='relu')(x3)
x4= layers.MaxPooling2D(2,2)(x4)
x = layers.Dropout(0.2)(x4)
o = layers.Concatenate(axis=3)([x1, x2, x3, x4, x])
y = layers.Flatten()(o)
y = layers.Dense(1024, activation='relu')(y)
y = layers.Dense(5, activation='softmax')(y)

model = Model(inp, y)
model.summary()
model.compile(loss='sparse_categorical_crossentropy',optimizer=RMSprop(lr=0.001),metrics=['accuracy'])


主要错误可以在标题中看到
但我提供了回溯错误以供引用
错误是
ValueError                                Traceback (most recent call last)
<ipython-input-12-31a1fcec98a4> in <module>
14 x4= layers.MaxPooling2D(2,2)(x4)
15 x = layers.Dropout(0.2)(x4)
---> 16 o = layers.Concatenate(axis=3)([x1, x2, x3, x4, x])
17 y = layers.Flatten()(o)
18 y = layers.Dense(1024, activation='relu')(y)

/opt/conda/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py in __call__(self, inputs, *args, **kwargs)
589 # Build layer if applicable (if the `build` method has been
590 # overridden).
--> 591 self._maybe_build(inputs)
592
593 # Wrapping `call` function in autograph to allow for dynamic control

/opt/conda/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py in _maybe_build(self, inputs)
1879 # operations.
1880 with tf_utils.maybe_init_scope(self):
-> 1881 self.build(input_shapes)
1882 # We must set self.built since user defined build functions are not
1883 # constrained to set self.built.

/opt/conda/lib/python3.6/site-packages/tensorflow/python/keras/utils/tf_utils.py in wrapper(instance, input_shape)
293 if input_shape is not None:
294 input_shape = convert_shapes(input_shape, to_tuples=True)
--> 295 output_shape = fn(instance, input_shape)
296 # Return shapes from `fn` as TensorShapes.
297 if output_shape is not None:

/opt/conda/lib/python3.6/site-packages/tensorflow/python/keras/layers/merge.py in build(self, input_shape)
389 'inputs with matching shapes '
390 'except for the concat axis. '
--> 391 'Got inputs shapes: %s' % (input_shape))
392
393 def _merge_function(self, inputs):

ValueError: A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [(None, 523, 523, 32), (None, 173, 173, 64), (None, 84, 84, 64), (None, 41, 41, 64), (None, 41, 41, 64)]


我已经使用 tensorflow.keras 导入了运行代码所需的所有必要文件

最佳答案

您不能对具有不同尺寸(即高度和宽度)的输入执行连接操作。在您的情况下,您正在尝试执行此操作 layers.Concatenate(axis=3)([x1, x2, x3, x4, x])在哪里

x1 has dimension = (None, 523, 523, 32)
x2 has dimension = (None, 173, 173, 64)
x3 has dimension = (None, 84, 84, 64)
x4 has dimension = (None, 41, 41, 64)
and x has dimension = (None, 41, 41, 64)

发生错误的原因是,所有输入维度,即要连接的高度和宽度都不同。要解决错误,您必须将所有输入都设置为相同的维度,即相同的高度和宽度,这可以通过将图层采样到固定维度来实现。根据您的用例,您可以下采样或上采样以达到所需的维度。
ValueError: A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [(None, 523, 523, 32), (None, 173, 173, 64), (None, 84, 84, 64), (None, 41, 41, 64), (None, 41, 41, 64)]

错误状态 layer requires inputs with matching shapes ,这只不过是输入的高度和宽度。

关于python - ValueError : A `Concatenate` layer requires inputs with matching shapes except for the concat axis. 得到输入形状 : [(None, 523、523、32) 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57542946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com