《python神经网络编程》学习笔记

第二章使用python进行DIY——学习笔记

2.5 手写数字的数据集MNIST

书中代码为

data_file = open("mnist_dataset/mnist_train_100.csv",'r')
#open()打开文件
#r:只读方式避免更改数据或删除数据
#mnist_dataset:文件目录
#mnist_train_100.csv:整个路径

data_list = data_file.readlines()
#文件中所有变量读入变量data_list
#readlines()文件读取内容

data_file.close()
#关闭文件

遇到无法读取.csv文件

2.5.1 书中链接无法下载

当时从网站下载下载数据集,http://yann.lecun.com/exdb/mnist/

下载的格式是.gz格式

《python神经网络编程》学习笔记_第1张图片 官网下载界面​

 需要将官网下载数据转化为.CSV格式,直接将代码放到pycharm中运行即可。

def convert(imgf: object, labelf: object, outf: object, n: object) -> object:
    f = open(imgf, "rb")
    o = open(outf, "w")
    l = open(labelf, "rb")

    f.read(16)
    l.read(8)
    images = []

    for i in range(n):
        image = [ord(l.read(1))]
        for j in range(28 * 28):
            image.append(ord(f.read(1)))
        images.append(image)

    for image in images:
        o.write(",".join(str(pix) for pix in image) + "\n")
    f.close()
    o.close()
    l.close()


convert("mnist_dataset/train-images.idx3-ubyte", "mnist_dataset/train-labels.idx1-ubyte","mnist_train.csv", 60000)
#注意修改文件名
convert("mnist_dataset/t10k-images.idx3-ubyte", "mnist_dataset/t10k-labels.idx1-ubyte","mnist_test.csv", 10000)
#注意修改文件名


print("Convert Finished!")

之后便可以将.gz格式转化为.csv格式

2.5.2 jupyter无法读取.csv格式

变代码

import pandas as pd
data_file = pd.read_csv('mnist_train.csv',header=0,encoding="gbk")
print(data_file)

《python神经网络编程》学习笔记_第2张图片

 注意:在jupyter中显示的.csv文件是什么样的

你可能感兴趣的:(初次学习,python,神经网络,学习,深度学习)