🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3638閲覧

MNISTのデータの読み込みがうまくいきません。

Deisler

総合スコア7

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/09/06 02:57

前提

ゼロから作るDeep Learning
――Pythonで学ぶディープラーニングの理論と実装を勉強中です。

第3章のMNISTのデータの読み込みを行いたいのですが、
下記のエラーが出て、MNISTデータの読み込みがうまくいかず行き詰まっています。

発生している問題・エラーメッセージ

ValueError: offset must be non-negative and no greater than buffer length (0)
エラーメッセージ

python 3系 import sys, os sys.path.append(os.pardir) # 親ディレクトリのファイルをインポートするための設定 import numpy as np from dataset.mnist import load_mnist (x_train, t_train), (x_test, t_test) = load_mnist(flatten = True, normalize = False) ### 試したこと 4行目まではうまく実行できています。 5行目の (x_train, t_train), (x_test, t_test) = load_mnist(flatten = True, normalize = False) を実行すると Converting train-images-idx3-ubyte.gz to NumPy Array ... ValueError Traceback (most recent call last) <ipython-input-31-a1f33dcdd7aa> in <module> ----> 1 (x_train, t_train), (x_test, t_test) = load_mnist(flatten = True, normalize = False) ~/deep-learning-from-scratch/dataset/mnist.py in load_mnist(normalize, flatten, one_hot_label) 104 """ 105 if not os.path.exists(save_file): --> 106 init_mnist() 107 108 with open(save_file, 'rb') as f: ~/deep-learning-from-scratch/dataset/mnist.py in init_mnist() 74 def init_mnist(): 75 download_mnist() ---> 76 dataset = _convert_numpy() 77 print("Creating pickle file ...") 78 with open(save_file, 'wb') as f: ~/deep-learning-from-scratch/dataset/mnist.py in _convert_numpy() 65 def _convert_numpy(): 66 dataset = {} ---> 67 dataset['train_img'] = _load_img(key_file['train_img']) 68 dataset['train_label'] = _load_label(key_file['train_label']) 69 dataset['test_img'] = _load_img(key_file['test_img']) ~/deep-learning-from-scratch/dataset/mnist.py in _load_img(file_name) 57 print("Converting " + file_name + " to NumPy Array ...") 58 with gzip.open(file_path, 'rb') as f: ---> 59 data = np.frombuffer(f.read(), np.uint8, offset=16) 60 data = data.reshape(-1, img_size) 61 print("Done") ValueError: offset must be non-negative and no greater than buffer length (0) となってしまいます。 初学者のためどうしたらいいかわからず、教えていただけたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

datasetディレクトリの

mnist.pkl
t10k-images-idx3-ubyte.gz
t10k-labels-idx1-ubyte.gz
train-images-idx3-ubyte.gz
train-labels-idx1-ubyte.gz

を削除してやり直してみてください。
(不完全なファイルを作成してしまったと思います)

投稿2019/09/06 03:18

quickquip

総合スコア11231

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Deisler

2019/09/06 10:29

ありがとうございます。 ファイルをダウンロードし直したら実行されました。 今後も行き詰まった時はファイルの確認をしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問