TensorFlow CNN 不兼容的形状:4D 输入形状
TensorFlow CNN Incompatible Shapes: 4D input shape
我有以下形式的样本数据:Data[n][31][31][5][2] 和:
- "[n]" 是样本
- "[31][31]" 是数据点数组
- "[5]" 是该数据点内的位数
- 和“[2]”是位的单热编码(例如,位 1 将是 [1, 0] 和零 [0, 1])
输出旨在是 [5][2] 或 [10] 值数组,这些值已针对另一个 [5][2] 或 [10] 数组进行验证。
尝试构建模型时,出现以下错误:
"ValueError: Shapes (None, 5, 2) and (None, 10) are incompatible"
模型代码如下所示:
(train_m[n][31][31][5][2]、tr_m[5][2]、check_m[n][31][31][ 5][2],cr_m[5][2] 是训练数据和预期输出,然后是验证数据和预期输出。)
model = Sequential([
Conv2D(num_filters, filter_size, input_shape=(31, 31, 5, 2)),
Flatten(),
Dense(10, activation='relu'),
])
model.compile(
'adam',
loss='categorical_crossentropy',
metrics=['accuracy'],
)
model.summary()
model.fit(
train_m,
tr_m,
epochs=(100),
validation_data=(check_m, cr_m),
verbose=0
)
由于 [5][2] 输出是一次性的,我不确定是否可以将它们制作成 [10] 矩阵,同时仍然被正确解释。此外,有什么办法可以使致密层达到[5][2]?
The full error can be seen here. I felt it would be awfully long to include in rawtext here.
如果还需要什么,请告诉我 - 我对使用 TensorFlow 还是很陌生。
你的标签形状是 (5,2) 但网络输出是 (10,) 所以这很混乱。输出形状和标签形状应该相同。
使用:
tf.keras.layers.Reshape((5,2))
在密集层之后。你会没事的
我有以下形式的样本数据:Data[n][31][31][5][2] 和:
- "[n]" 是样本
- "[31][31]" 是数据点数组
- "[5]" 是该数据点内的位数
- 和“[2]”是位的单热编码(例如,位 1 将是 [1, 0] 和零 [0, 1])
输出旨在是 [5][2] 或 [10] 值数组,这些值已针对另一个 [5][2] 或 [10] 数组进行验证。 尝试构建模型时,出现以下错误:
"ValueError: Shapes (None, 5, 2) and (None, 10) are incompatible"
模型代码如下所示: (train_m[n][31][31][5][2]、tr_m[5][2]、check_m[n][31][31][ 5][2],cr_m[5][2] 是训练数据和预期输出,然后是验证数据和预期输出。)
model = Sequential([
Conv2D(num_filters, filter_size, input_shape=(31, 31, 5, 2)),
Flatten(),
Dense(10, activation='relu'),
])
model.compile(
'adam',
loss='categorical_crossentropy',
metrics=['accuracy'],
)
model.summary()
model.fit(
train_m,
tr_m,
epochs=(100),
validation_data=(check_m, cr_m),
verbose=0
)
由于 [5][2] 输出是一次性的,我不确定是否可以将它们制作成 [10] 矩阵,同时仍然被正确解释。此外,有什么办法可以使致密层达到[5][2]?
The full error can be seen here. I felt it would be awfully long to include in rawtext here.
如果还需要什么,请告诉我 - 我对使用 TensorFlow 还是很陌生。
你的标签形状是 (5,2) 但网络输出是 (10,) 所以这很混乱。输出形状和标签形状应该相同。 使用:
tf.keras.layers.Reshape((5,2))
在密集层之后。你会没事的