ChainerでCIFAR-10の分類をしようと思ったのですが、データを読み込むところでエラーが発生して調べても解決策がわからなかったので質問させていただきます。
http://nonbiri-tereka.hatenablog.com/entry/2015/06/21/220506
http://www.cs.toronto.edu/~kriz/cifar.html
上記のサイトを参考に、このようなコードを実行すると、
python
1import pickle 2import numpy as np 3 4def unpickle(file): 5 fo = open(file, 'rb') 6 dict = pickle.load(fo) 7 fo.close() 8 return dict 9 10X_train = None 11y_train = [] 12 13for i in range(1,6): 14 data_dic = unpickle("cifar-10-batches-py/data_batch_{}".format(i)) 15 if X_train == None: 16 X_train = data_dic['data'] 17 else: 18 X_train = np.vstack((X_train, data_dic['data'])) 19 y_train += data_dic['labels'] 20 21test_data_dic = unpickle("cifar-10-batches-py/test_batch") 22x_test = test_data_dic['data'] 23x_test = x_test.reshape(len(x_test),3,32,32) 24y_test = np.array(test_data_dictionary['labels']) 25x_train = x_train.reshape((len(x_train),3, 32, 32)) 26y_train = np.array(y_train) 27
以下のようなエラーがでます。
In []: %run CIFAR10.py --------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) /home/tomoya/CIFAR10.py in <module>() 14 15 for i in range(1,6): ---> 16 data_dic = unpickle("cifar-10-batches-py/data_batch_{}".format(i)) 17 if X_train == None: 18 X_train = data_dic['data'] /home/tomoya/CIFAR10.py in unpickle(file) 6 def unpickle(file): 7 fo = open(file, 'rb') ----> 8 dict = pickle.load(fo) 9 fo.close() 10 return dict UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6: ordinal not in range(128)
環境は
・ Ubuntu 14.04
・ python 3.5.1 (Anaconda 2.5.0)
解決策もしくは、他の方法でデータを読み込む方法を教えてください!
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。