【问题标题】:What is 'filename' in the code of Transfer Learning using MNIST dataset?使用 MNIST 数据集进行迁移学习的代码中的“文件名”是什么?
【发布时间】:2019-01-29 12:48:51
【问题描述】:

使用迁移学习对MNIST数据集进行分类的代码在链接https://www.analyticsvidhya.com/blog/2017/06/transfer-learning-the-art-of-fine-tuning-a-pre-trained-model/中给出

我无法理解代码中的“文件名”代表什么?还有,为什么数据集在代码中加载了两次。

我已经看到使用 load_img() 函数的代码,但我仍然无法运行给定的代码而不会出现错误,因为“文件名”是未知的,因为它没有在链接中定义。

MNIST 数据集包含两个文件“mnist_train.csv”和“mnist_test.csv”。有代码将 .csv 文件转换为图像,但是每个图像都有一个 .csv 文件。在这里,训练和测试中存在的所有图像只有两个 .csv 文件。

提前致谢!

【问题讨论】:

    标签: python csv keras classification mnist


    【解决方案1】:

    数据集采用 csv 格式,并有 filename 列,其中包含图像名称。 我想该文件具有以下结构:

       filename    label
    0  file1.jpg    1
    1  file2.jpg    8
    2  file3.jpg    5
    ....
    

    他们将 csv 文件读入train

    train=pd.read_csv("R/Data/Train/train.csv")
    

    然后使用循环打开数据框中给定的每个文件

    for i in range(len(train)):
    temp_img=image.load_img(train_path+train['filename'][i],target_size=(224,224))
    

    使用上面的代码加载图像并调整大小

    train_data = pd.read_csv('train.csv')
    labels = []
    pixels =[]
    for index, row in train_data.iterrows():
        label=np.zeros(10)
        label[row["label"]]=1
        labels.append(label)
        pixels.append(row[1:])
    labels = np.array(labels)
    pixels = np.array(pixels)
    

    我已经添加了从您在 cmets 中发布的 csv 文件加载数据的代码

    【讨论】:

    • .csv 格式的 MNIST 数据集在此链接中给出 pjreddie.com/projects/mnist-in-csv
    • 如果您可以检查它会很棒,因为没有名为 filename 的列并且文件从第一列中的标签开始。运行代码后,生成的错误是“KeyError:'filename'”。可能我必须在其中创建该列。是吗?
    • 您使用的 MNIST csv 文件与您在问题中发布的网站不同。 MNIST csv 格式为 label,pixel-1 to pixel-784。所以你必须以不同的方式加载你的数据。我在答案中添加了如何从这样的 csv 文件加载数据
    猜你喜欢
    • 2018-05-30
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2019-10-29
    • 2018-05-04
    • 2020-03-12
    • 2020-08-06
    • 2023-01-18
    相关资源
    最近更新 更多