Python 对微调接收Resnetv2进行预测

Python 对微调接收Resnetv2进行预测,python,machine-learning,keras,dataset,classification,Python,Machine Learning,Keras,Dataset,Classification,我正在尝试使用我的微调接收resnet2对我的测试集进行预测。我正在努力为模型生成正确的输入形状。我尝试运行的代码是: Y_pred = model.predict(test_data) 显示的错误如下: ValueError:检查输入时出错:应为 全局_平均_池2D_1_输入具有形状(8,81536),但得到 带形状的数组(7、7、512) 我用于微调的模型如下所示: base_model = InceptionResNetV2(weights='imagenet', include_top

我正在尝试使用我的微调接收resnet2对我的测试集进行预测。我正在努力为模型生成正确的输入形状。我尝试运行的代码是:

Y_pred = model.predict(test_data)
显示的错误如下:

ValueError:检查输入时出错:应为 全局_平均_池2D_1_输入具有形状(8,81536),但得到 带形状的数组(7、7、512)

我用于微调的模型如下所示:

base_model = InceptionResNetV2(weights='imagenet', include_top=False, input_shape=(299,299,3))

top_model = Sequential()
top_model.add(GlobalAveragePooling2D(input_shape=base_model.output_shape[1:]))
top_model.add(Dense(num_classes, activation='softmax'))
top_model.load_weights(top_model_weights_path)

new_model = Model(inputs=base_model.input, outputs=top_model(base_model.output))

有人知道为什么会出现这种情况吗

测试数据形状的输出是什么?(1270,7,7,512)。谢谢你的帮助!可能需要补充的是,我在应用精细调整之前就让它工作了,但在精细调整之后就没有了。您已经将基本模型的输入形状指定为
(299299,3)
,并且您传递给
新模型的任何内容都首先通过
基本模型
,然后它的输出被传递给
顶部模型
。所以我认为
测试数据
的形状应该是
(?,299299,3)
,对吗?我想你已经指出了我的问题/错误。问题是我已经通过将数据除以255来重新调整了数据的大小。这就是我认为的不同之处。我并没有因此而到处这样做。让我看看!