python - 使用输入形状为 (192,192,3) 的 VGG16 进行微调时出现 InvalidArgumentError
问题描述
我正在使用多模态 MR 图像数据集。我不明白是什么导致训练期间出现此错误:
InvalidArgumentError: logits and labels must have the same first dimension, got logits shape [64,4] and labels shape [9437184]
sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits
我的代码:
conv_base=VGG16(weights='imagenet',include_top=False, input_shape=(192,192,3))
model.add(conv_base)
model.add(layers.Flatten())
model.add(layers.Dense(512,activation='relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(4, activation= 'softmax'))
model.compile(optimizer=optimizers.Adam(lr=3e-5), loss='sparse_categorical_crossentropy', metrics=['acc'])
h=model.fit(X_train, Y_train,batch_size=64,epochs=1,verbose=1,validation_data=(X_val,Y_val))
的形状X_train
是(162,192,192,3)
。
的形状Y_train
是(162,192,192,4)
。
解决方案
谢谢马尔科·塞利亚尼。为了社区的利益,在这里提供解决方案
conv_base=VGG16(weights='imagenet',include_top=False, input_shape=(192,192,3))
model.add(conv_base)
model.add(layers.Flatten())
model.add(layers.Dense(512,activation='relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(4, activation= 'softmax'))
model.compile(optimizer=optimizers.Adam(lr=3e-5), loss='categorical_crossentropy', metrics=['acc'])
h=model.fit(X_train, Y_train,batch_size=64,epochs=1,verbose=1,validation_data=(X_val,Y_val))
推荐阅读
- ios - Firebase 数据未显示在 xcode 的 tableview 中
- javascript - eCharts——不显示数据的简单堆叠折线图
- r - 使用 R 从文本文件中绘制图形
- julia - Julia:如何让散点图上的所有点都具有相同的 RGBA 颜色?
- sql - 在变量 sql 中选择给定条件的组
- javascript - Testcafe: foreach 柜台
- c# - 从 ViewMode/Viewl MVVM 发出保存模型
- arrays - 为什么过滤函数会抛出数组错误?
- hash - Odoo 版本 13:电子邮件摘要和 KPI
- python - 带有百分比计算的 Pandas 交叉表