質問をすることでしか得られない、回答やアドバイスがある。

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

ただいまの
回答率

90.51%

  • Python 3.x

    6393questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Chainer

    144questions

    Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

chainerサンプルコードtrain_mnist.pyのエラー

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 916

前提・実現したいこと

githubから以下の公式chainerファイルをクローンし
サンプルコードtest_mnist.py を実行したらエラーが返ってきました
どなたか解決方法を教えてください

https://github.com/chainer/chainer

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

Traceback (most recent call last):
 File "/Users/appleiii/Programming/python3/chainer-master/examples/mnist/train_mnist.py", line 128, in <module>
    main()
  File "/Users/appleiii/Programming/python3/chainer-master/examples/mnist/train_mnist.py", line 71, in main
    train, test = chainer.datasets.get_mnist()
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/chainer/datasets/mnist.py", line 50, in get_mnist
    train_raw = _retrieve_mnist_training()
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/chainer/datasets/mnist.py", line 84, in _retrieve_mnist_training
    return _retrieve_mnist('train.npz', urls)
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/chainer/datasets/mnist.py", line 97, in _retrieve_mnist
    path, lambda path: _make_npz(path, urls), numpy.load)
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/chainer/dataset/download.py", line 157, in cache_or_load_file
    content = creator(temp_path)
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/chainer/datasets/mnist.py", line 97, in <lambda>
    path, lambda path: _make_npz(path, urls), numpy.load)
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/chainer/datasets/mnist.py", line 106, in _make_npz
    fx.read(4)
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/gzip.py", line 276, in read
    return self._buffer.read(size)
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/_compression.py", line 68, in readinto
    data = self.read(len(byte_view))
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/gzip.py", line 463, in read
    if not self._read_gzip_header():
  File "/Users/appleiii/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/gzip.py", line 411, in _read_gzip_header
    raise OSError('Not a gzipped file (%r)' % magic)
OSError: Not a gzipped file (b'<!')

該当のソースコード

https://github.com/chainer/chainer/blob/master/examples/mnist/train_mnist.py

試したこと

課題に対してアプローチしたことを記載してください

補足情報(言語/FW/ツール等のバージョンなど)

Python 3.6.1
anaconda3-4.4.0
mac os 10.13.1

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

例えばダウンロードするだけの以下のようなコードを実行すると、

import chainer
train, test = chainer.datasets.get_mnist()

以下のようなダウンロード情報が順次表示されてダウンロードが完了します。
エラーはその後に出ていますか?

Downloading from http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz...
Downloading from http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz...
Downloading from http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz...
Downloading from http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz...

データのダウンロードに失敗したようですね。
Chainerではありませんが、
https://github.com/tensorflow/tensorflow/issues/170
同様なエラーを得ているケースがあるようです。
直接データをダウンロードするか、ダウンロードに失敗したファイルを削除して再度実行してみるとよいと思われます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/28 17:04

    一旦元のデータを削除して
    直接ターミナルからクローンしてから
    実行して見ましたが同じエラーが出てしまいました
    なのでデータのダウンロード失敗ではないようです

    キャンセル

  • 2017/12/28 17:08

    ターミナル上から直接データをダウンロードして、ターミナル上で解凍することはできていますか?

    キャンセル

  • 2017/12/28 17:30

    ほぼ同様にTracebackが表示され
    その後OSError('Not a gzipped file (%r)' % magic)
    OSError: Not a gzipped file (b'<!')
    が返ってきます

    キャンセル

  • 2017/12/28 17:32

    解凍作業を必要としない
    git clone hoge
    を実行したので、zipファイルについては問題がないはずなのですが

    キャンセル

  • 2017/12/28 17:46

    これらのMNISTのファイルはChainerのものではないのでGithubからは直接取ってこれず、初めてデータを使う時にダウンロードしてくるものだと認識しています。

    Tracebackの前に
    Downloading from http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz...
    などのようにダウンロードしてきている雰囲気はありますか?

    Pythonの方でうまくダウンロードできない場合、手動でデータを取ってきてから特定のフォルダ下に配置することによってChainer側がそれを認識し使おうとしてくれるはずです。
    https://perrohunter.com/fix-ioerror-not-a-gzipped-file-in-tensorflow-docker-example/

    キャンセル

  • 2017/12/28 19:50

    そのような雰囲気はないです
    おそらくデータを自動的にDLするメソッド自体が機能していないみたいです
    このchainer.datasets.get_mnist()を使えるようにするにはどうするのが良いでしょうか

    キャンセル

  • 2017/12/28 22:19

    http://aidiary.hatenablog.com/entry/20161109/1478696865
    全く同じフォーマットとは保証できませんが、kerasでもmnistデータを取ってこれます。
    上記のURLのはじめの方に例があります。
    それでもうまく行かないのであれば、ネットワークの問題な気がするのですが、はっきりは分からないですね。

    wgetやcurlは問題なく使えますか?

    キャンセル

  • 2017/12/29 17:26

    curlはつかえました

    キャンセル

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

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python 3.x

    6393questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Chainer

    144questions

    Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。