MNIST読み込み時に「UnicodeDecodeError: 'ascii' codec can't decode byte...」エラー
Pythonで機械学習を試す際、MNISTという名の学習用データを使わせてもらうことが多いです。しかし日本語環境によってはデータをロードする際に以下の様なエラーが出て読み込めないことがあります。
load.py
f = gzip.open(dataset, 'rb') train_set, valid_set, test_set = pickle.load(f) f.close()
↓エラー
File "load.py", line 209, in load_data train_set, valid_set, test_set = pickle.load(f) UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in range(128)
何故かはよくわかりませんが、バイナリデータにも関わらずasciiコードで読もうとしてエラーを吐いているようです。encodingを指定してやると解決します。
load.py
f = gzip.open(dataset, 'rb') train_set, valid_set, test_set = pickle.load(f, encoding='latin1') f.close()