

書籍「ゼロから作るDeep Learning」の[サンプルコード](https://github.com/oreilly-japan/deep-
learning-from-scratch/tree/master/dataset/mnist.py)を

[code]

    $ python mnist.py
    
[/code]

と実行すると，gzipの部分で以下のようなエラーが出ました．  
なお、実行環境はAnaoconda3(python3.5), windows7です．

[code]

    Traceback (most recent call last):
      File "<stdin>", line 2, in <module>
      File "C:\Users\user_name\Anaconda3\Lib\gzip.py", line 274, in read
        return self._buffer.read(size)
      File "C:\Users\user_name\Anaconda3\Lib\gzip.py", line 461, in read
        if not self._read_gzip_header():
      File "C:\Users\user_name\Anaconda3\Lib\gzip.py", line 409, in _read_gzip_header
        raise OSError('Not a gzipped file (%r)' % magic)
    OSError: Not a gzipped file (b'<!')
    
[/code]

エラーに関連すると思われる部分のコード(抜粋)は以下の`###`部分です．

[code]

    def _load_label(file_name):
        file_path = dataset_dir + "/" + file_name    
        print("Converting " + file_name + " to NumPy Array ...")
        with gzip.open(file_path, 'rb') as f:
                labels = np.frombuffer(f.read(), np.uint8, offset=8) ###
        print("Done")
        return labels  
    
[/code]

どのように対応すればよいのでしょうか？


CC BY-SA 3.0
2017-12-26T11:52:31.477
40545
2020-09-05T07:29:17.027
2017-12-26T13:10:42.753
3060
26604
question
python python3 gzip
raise OSError('Not a gzipped file (%r)' % magic)　gzipのopenエラー


恐らくダウンロードしたファイルが破損していたのがエラーの原因だったようです。

`gz` ファイルをいったん削除し、再度 mnist.py を実行したところ上手くいきました。

* * *

_この投稿は[@sketch さんのコメント](https://ja.stackoverflow.com/questions/40545/raise-
oserrornot-a-gzipped-file-r-magic-
gzip%e3%81%aeopen%e3%82%a8%e3%83%a9%e3%83%bc#comment41218_40545) の内容を元に
コミュニティwiki として投稿しました。_


CC BY-SA 4.0
2020-09-05T07:29:17.027
70156
2020-09-05T07:29:17.027
3060
40545
answer