【问题标题】:Can we use VGG19 with transferlearning and another image size?我们可以将 VGG19 与迁移学习和其他图像尺寸一起使用吗?
【发布时间】:2021-11-11 00:17:09
【问题描述】:

我遵循了这个非常好的示例,说明如何将迁移学习与 VGG19 和石头、纸、剪刀图像分类一起使用:https://github.com/Nithyashree-2022/VGG-19-for-Rock-Paper-and-Scissors-classification

我执行 OK 并且结果正常。该示例适用于 224x244 图像。 然后我尝试使用我自己的数据集作为 256x256 图像(其他类型的图像,不是纸/石头/剪刀)的输入,所以,我唯一改变的是图像大小(当然还有它们的路径) .我将 github 代码中的所有引用从 224 更改为 256,但似乎没有什么是强制性的,但结果是......显然没有学习验证集......

我的意思是:

loss_and_accuracy_curves

从 epoch 1.. 似乎什么都没学到...

所以..有什么想法吗??

非常感谢!!

【问题讨论】:

    标签: tensorflow keras transfer-learning vgg-net image-classification


    【解决方案1】:

    Vgg 将适用于 224 X22 X 3 以外的图像尺寸。请确保调用 tf.keras.applications.vgg19.preprocess_input 在将输入传递给模型之前。 vgg19.preprocess_input 将输入图像从 RGB 转换为 BGR,然后将每个颜色通道相对于 ImageNet 数据集进行零中心化,而不进行缩放。为了进一步提供帮助,我需要设置用于为模型生成数据的代码。

    【讨论】:

    • 代码和github例子中出现的一模一样,把224改成256(因为我的图片是256x256),所以我在这部分代码里改了:
    • #IMAGE_SIZE = [224, 224] --> IMAGE_SIZE = [256, 256] 用于 os.listdir(train_path) 中的文件夹:[...] 用于 os.listdir(sub_path) 中的 img : [...] img_arr=cv2.resize(img_arr,(256,256)) # 更改 [...] training_set = train_datagen.flow_from_directory(train_path, target_size = (256, 256), #CHANGED [...])
    • training_set = train_datagen.flow_from_directory(train_path, target_size = (256, 256), #CHANGED [...]) prediction = Dense(MY_N_of_CLASES, activation='softmax')(x) #CHANGED
    • 原始代码比去 github 更“友好”:analyticsvidhya.com/blog/2021/07/…
    猜你喜欢
    • 2021-04-07
    • 1970-01-01
    • 2021-04-17
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-16
    相关资源
    最近更新 更多