gpt4 book ai didi

machine-learning - keras vgg 16 形状错误

转载 作者:行者123 更新时间:2023-11-30 08:34:50 25 4
gpt4 key购买 nike

我试图将具有以下形状的数据拟合到预训练的 keras vgg19 模型中。

图像输入形状为(32383, 96, 96, 3)标签形状为 (32383, 17)我收到了这个错误

expected block5_pool to have 4 dimensions, but got array with shape (32383, 17)

在这一行

model.fit(x = X_train, y= Y_train, validation_data=(X_valid, Y_valid),
batch_size=64,verbose=2, epochs=epochs,callbacks=callbacks,shuffle=True)

这是我定义模型的方式

model = VGG16(include_top=False, weights='imagenet', input_tensor=None, input_shape=(96,96,3),classes=17)

maxpool 如何给我一个 2d 张量而不是 4D 张量?我正在使用 keras.applications.vgg16 中的原始模型。我该如何修复这个错误?

最佳答案

您的问题来自 VGG16(include_top=False,...) 因为这使得您的解决方案仅加载 VGG 的卷积部分。这就是为什么 Keras 提示它得到的是 2 维输出而不是 4 维一维(4 维来自于卷积输出具有形状 (nb_of_examples, width, height,channels) )。为了克服这个问题,您需要设置 include_top=True 或添加额外的层,将卷积部分压缩为 2d 层(例如使用 FlattenGlobalMaxPooling2DGlobalAveragePooling2D 和一组 Dense 层 - 包括最后一个应该是 Dense 大小为 17 和 softmax 激活函数)。

关于machine-learning - keras vgg 16 形状错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44858908/

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