Estoy tratando de usar el mnist_data por escrito a mano dígitos de reconocimiento.Ahora he probado este código para cargar los datos.

import cPickle
import numpy as np


def load_data():
    f = open('G:/thesis paper/data sets/mnist.pkl.gz', 'rb')
    training_data, validation_data, test_data = cPickle.load(f)
    f.close()
    return (training_data, validation_data, test_data)


def load_data_nn():
    training_data, validation_data, test_data = load_data()
    inputs = [np.reshape(x, (784, 1)) for x in training_data[0]]
    results = [vectorized_result(y) for y in training_data[1]]
    training_data = zip(inputs, results)
    test_inputs = [np.reshape(x, (784, 1)) for x in test_data[0]]
    return (training_data, test_inputs, test_data[1])


def vectorized_result(j):
    e = np.zeros((10, 1))
    e[j] = 1.0
    return e


if __name__ == '__main__':
    tr_data,test_inp,test_data=load_data_nn()

Pero estoy recibiendo este error.

   File "D:/NeuralNet/mnist_loader.py", line 42, in load_data
     training_data, validation_data, test_data = cPickle.load(f) cPickle.UnpicklingError: invalid load key, ''.

Yo no podía entender lo que el error está tratando de decir y de cómo eliminar este error..Gracias de antemano..

OriginalEl autor Setu Basak | 2015-08-02

3 Comentarios

  1. 4

    El argumento que usted ha pasado a cPickle.load() tiene que ser un .pkl archivo.
    mnist.pkl se proporciona en el interior de mnist.pkl.gz

    Así, usted tiene que abrir .gz primera. Intente esto:

    import gzip
    f = gzip.open('mnist.pkl.gz', 'rb')
    train_set, valid_set, test_set = cPickle.load(f)

    OriginalEl autor Anirban

  2. 1

    La primera solución para todos los pepinillos problemas es el uso de «pickle» en lugar de «cPickle» hasta que usted haya depurado de todo. Usted conseguirá mucho mejores mensajes de error y puede depurar mejor.

    Parece que he gzip su pepinillos. Tendrás que descomprimir antes de la carga.

    Hizo su propio software de producir el pepinillo, y está usted seguro de que el objeto a ser unpickled es una tupla?

    OriginalEl autor Michael Scott Cuthbert

  3. 0

    Esto funcionó para mí:

    f = gzip.open('../data/mnist.pkl.gz', 'rb')
    training_data, validation_data, test_data = cPickle.load(f,encoding='latin1')
    f.close()

    OriginalEl autor wieblinger

Dejar respuesta

Please enter your comment!
Please enter your name here