Произошла ошибка преобразования базы данных MNIST в .csv: ord () - PullRequest
0 голосов
/ 17 октября 2019

Я хотел бы преобразовать исходную базу данных MNIST в файл CSV. Я использовал код из https://pjreddie.com/projects/mnist-in-csv/

Но я получил ошибку об ord (). Я знаю, что ord () должен принимать одну строку в качестве элемента, но я не знаю, почему это произошло, не понимая структуруисходная база данных.


def convert(imgf, labelf, outf, n):
    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("train-images-idx3-ubyte.gz", "train-labels-idx1-ubyte.gz","mnist_train.csv", 60000)
convert("t10k-images-idx3-ubyte.gz", "t10k-labels-idx1-ubyte.gz","mnist_test.csv", 10000)

Это сообщение об ошибке, которое я получил

ord() expected a character, but string of length 0 found

...