2016-03-30 6 views
0

Ich befolge derzeit CIFAR-10 als Beispiel. Heruntergeladener Datensatz unter http://www.cs.toronto.edu/~kriz/cifar.html (CIFAR-10-Python-Version). Nach der extrahierten Datei kam der Ordner "cifar-10-batches-py" heraus.Probleme mit der cPickle-Bibliothek beim Ausführen des CIFAR-10-Datensatzes

Mit diesem Ordner habe ich versucht, seinen Datensatz zu sehen. Ich habe den unten gezeigten Code verwendet.

import cPickle 
import os 
import numpy as np 

def unpickle(file): 
    fo = open(file, 'rb') 
    dict = cPickle.load(fo) 
    fo.close() 
    return dict 

def conv_data2image(data): 
    return np.rollaxis(data.reshape((3,32,32)),0,3) 

def get_cifar10(folder): 
    tr_data = np.empty((0,32*32*3)) 
    tr_labels = np.empty(1) 
    ''' 
    32x32x3 
    ''' 
    for i in range(1,6): 
     fname = os.path.join(folder, "%s%d" % ("data_batch_", i)) 
     data_dict = unpickle(fname) 
     if i == 1: 
      tr_data = data_dict['data'] 
      tr_labels = data_dict['labels'] 
     else: 
      tr_data = np.vstack((tr_data, data_dict['data'])) 
      tr_labels = np.hstack((tr_labels, data_dict['labels'])) 

    data_dict = unpickle(os.path.join(folder, 'test_batch')) 
    te_data = data_dict['data'] 
    te_labels = np.array(data_dict['labels']) 

    bm = unpickle(os.path.join(folder, 'batches.meta')) 
    label_names = bm['label_names'] 

    return tr_data, tr_labels, te_data, te_labels, label_names 


if __name__ == '__main__': 
    datapath = '/Users/sungtegg/Documents/cifar-10-batch.py' 

    tr_data10, tr_labels10, te_data10, te_labels10, label_names10 = get_cifar10(datapath) 

Nach diesen Code kompilieren,

"IOError: [Errno 2] No such file or directory: '/Users/sungtegg/Documents/cifar-10-batch.py/data_batch_1' 

dieser Fehlercode herauskam.

Welcher Abschnitt des Codes ist falsch gelaufen?

+0

Der Code bei http://qiita.com/supersaiakujin/items/5e9d2b2850e256f99982 gezeigt wird – teggme

Antwort

1

Ihr Datenpfad ist falsch, Sie können von CIFAR10 herunterladen und in einen beliebigen Ordner extrahieren. Stellen Sie sicher, dass Sie auf das richtige Datenverzeichnis verweisen.

Datenweg = '/ Benutzer/sungtegg/Dokumente/cifar10-Datensatzes'

Verwandte Themen