首页 > 解决方案 > 如何将我的图像数据转换为类似于时尚 MNIST 数据的格式

问题描述

我是机器学习的新手,所以请耐心回答我的新手问题。我正在尝试根据底栖有孔虫的详细分类来训练一个模型来识别底栖有孔虫……这里是有孔虫的样例, 我只需使用 flow_images_from_directory () 加载我的数据就成功地做到了这一点。但是,我不知道如何探索通常由 flow_images_from_directory 生成的对象的结构。我想将我的数据集格式化为类似于 Fashion MNIST 数据的结构。方便我们修改下面的代码。我对魔法包有一些经验在此处输入图像描述 在此处输入图像描述

dataset_fashion_mnist()
c(train_images, train_labels) %<-% fashion_mnist$train
c(test_images, test_labels) %<-% fashion_mnist$test

这样我就有了类似 set 的东西,这将使我更容易理解,尤其是标签部分。此外,如果可能的话,我希望能够将 CSV 文件中的其他信息附加到数据集。我的数据已经按如下方式排列在文件夹和子文件夹中

data/
    train/
        ammonia/ ### 102 pictures
            ammonia001.tif
            ammonia002.tif
            ...
        elphidium/ ### 1024 pictures
            elphidium001.jpg
            elphidium002.jpg
            ...
    test/
        ammonia/ ### 16 pictures
           ammonia001.jpg
           ammonia002.jpg
            ...
       elphidium/ ### 6 pictures
           elphidium.jpg
            elphidium.jpg
            ...

任何有关材料的帮助或指南将不胜感激。

标签: rartificial-intelligencetensorflow-datasets

解决方案


我将描述您将在较高级别上执行的步骤。

  1. 假设你现在有一个训练和测试集,你所有的类都合理平衡
  2. 加载图像并提取像素值,将值标准化,使其介于 0 和 1 之间
  3. 如果图像的大小不同,则应填充它们,使它们都具有相同的大小
  4. 如果您不使用需要 2D 结构的方法,例如 CNN,您还应该展平像素值
  5. 将您的图像(以像素形式)与您的类标签相关联
  6. 现在您有一组像素形式的固定大小的图像及其相关的类标签。然后,您可以将其输入到您正在使用的任何模型中

希望这会有所帮助,如果您对任何部分感到困惑,请告诉我

旁注:从您的样本来看,您的数据集似乎严重偏斜 - 大量的 elphidium 示例,但没有很多氨示例。这可能会导致以后出现问题。通常,您希望类之间的示例数量平衡。


推荐阅读