【问题标题】:How does model.fit process images?model.fit 如何处理图像?
【发布时间】:2019-03-07 18:03:06
【问题描述】:

我有一个 训练数据集,其中的图像如下所示:

x=[image1,image2...imageN]

以及如下所示的输出数据集:

y=[output1,output2...]

我不明白model.fit 在处理图像方面是如何工作的。意思是,如果我选择shuffle=False,模型会先获取第一张图像,然后经过整个前馈、反向传播等,然后将其与output1进行比较,然后再与第二张图像进行比较,以此类推吗?
还是模型从我的数据集中随机选择图像?

【问题讨论】:

    标签: machine-learning keras


    【解决方案1】:

    如果您指定 shuffle = True,生成器将在每个 epoch 之前对数据集进行洗牌。然后它将一次一批地通过洗牌的数据集,如果它在下一个时期之前到达然后结束,它将回到开始。

    如果您指定shuffle = False,它将在每个时期以相同的顺序遍历数据集。

    【讨论】:

    • 请花点时间学习如何正确格式化内联代码(这次为您完成)
    • 哦,对不起!非常感谢你的帮助。所以为了清楚起见,如果我设置 shuffle=false 模型将在每个时期以相似的顺序遍历数据集。但是,我们不知道它是先取训练数据集列表中的第一个元素,然后是第二个,以此类推,还是第一次随机选择元素,然后按照相同的顺序?
    • 是的,它们按顺序排列。初始化flow_from_directory 后,它将在目录树中找到所有有效文件并对其进行排序。如果你设置shuffle = False 每个epoch 它将以相同的顺序通过这个排序列表。
    【解决方案2】:

    我相信这里也有人问过类似的问题。 shuffle in the model.fit of keras

    据我所知,你的思维过程在一定程度上是正确的。该模型从数据集中获取随机图像以及该索引的相关输出,然后对其进行训练。非常类似于使用随机数从批次中选择图像,将其与输出进行比较进行训练,然后将其标记为已训练以避免在同一示例上重新训练。

    【讨论】:

    • 感谢您的评论!那么,如果模型无论如何都拍摄随机图像,那么洗牌有什么意义呢?你确定你描述的不是shuffle=True的情况吗?
    猜你喜欢
    • 2012-07-30
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2021-02-10
    • 2019-05-21
    相关资源
    最近更新 更多