背景
『ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装』のコードを動かしていて、4 章の MNIST データを取得する処理が動かなかった。 これを動かせるようにした。
結論
dataset/mnist.pyを下記のように変更する。
- url_base = 'http://yann.lecun.com/exdb/mnist/'
+ url_base = "https://storage.googleapis.com/cvdf-datasets/mnist/"
やったこと
MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges
にアクセスしたところ、403 エラーが発生し、ファイルをダウンロードできなくなっていた。
tensorflow_datasets にも MNIST データを取得する処理があるので、内部を調べてみた。
dir() を使って、tensorflow_datasets.image.MNIST.url_infos.items に行き着き、
下記コードを実行してファイルを取得することができた。
import tensorflow_datasets as tfds
for k, v in tfds.image.MNIST.url_infos.items():
print(k, v)
出力は下記。
https://storage.googleapis.com/cvdf-datasets/mnist/t10k-images-idx3-ubyte.gz UrlInfo(size=1.57 MiB, checksum='8d422c7b0a1c1c79245a5bcf07fe86e33eeafee792b84584aec276f5a2dbc4e6', filename='t10k-images-idx3-ubyte.gz')
https://storage.googleapis.com/cvdf-datasets/mnist/t10k-labels-idx1-ubyte.gz UrlInfo(size=4.44 KiB, checksum='f7ae60f92e00ec6debd23a6088c31dbd2371eca3ffa0defaefb259924204aec6', filename='t10k-labels-idx1-ubyte.gz')
https://storage.googleapis.com/cvdf-datasets/mnist/train-images-idx3-ubyte.gz UrlInfo(size=9.45 MiB, checksum='440fcabf73cc546fa21475e81ea370265605f56be210a4024d2ca8f203523609', filename='train-images-idx3-ubyte.gz')
https://storage.googleapis.com/cvdf-datasets/mnist/train-labels-idx1-ubyte.gz UrlInfo(size=28.20 KiB, checksum='3552534a0a558bbed6aed32b30c495cca23d567ec52cac8be1a0730e8010255c', filename='train-labels-idx1-ubyte.gz')
これを参考にして url_base を変更した。