Chainerをインストールし、mnistの実行ができた!
……が、chainer1.11以降のmnistは処理の中身が隠蔽されてしまい、何をやっているのかさっぱり分かりません。
「それなら以前のmnistを試してみよう」と実行してみると、fetch_mldata()で落ちてしまいます。

そこで、本記事では、chainer1.11以降のget_mnist()で取得したデータの形式を変換することで、chainer1.11以前のmnistに入力する方法を紹介します。

元のコードは以下のページのものを利用させていただきました。
http://turgure.hatenablog.com/entry/2016/08/04/010219

修正は以下の2か所です。

・1か所目
修正前
# MNISTの画像データDL
print("fetch MNIST dataset")
mnist = fetch_mldata('MNIST original', data_home=".")
# mnist.data : 70,000件の28x28=784次元ベクトルデータ
mnist.data = mnist.data.astype(np.float32)
mnist.data /= 255 # 正規化

# mnist.target : 正解データ
mnist.target = mnist.target.astype(np.int32)
修正後
train, test = chainer.datasets.get_mnist()
get_mnist()は、学習用データとテスト用データを別々に取得できます。

・2か所目
修正前
# 学習用データN個,検証用データを残りの個数に設定
N = 60000
x_train, x_test = np.split(mnist.data, [N])
y_train, y_test = np.split(mnist.target, [N])
N_test = y_test.size
修正後
N = np.array(train).size / 2
x_train, y_train, x_test, y_test = [], [], [], []
for i in range(0, N):
x_train.append([train[i][0].astype(np.float32)])
y_train.append(train[i][1].astype(np.int32))
N_test = np.array(test).size / 2
for i in range(0, N_test):
x_test.append([test[i][0].astype(np.float32)])
y_test.append(test[i][1].astype(np.int32))
x_train = np.array(x_train)
y_train = np.array(y_train)
x_test = np.array(x_test)
y_test = np.array(y_test)
詰め替え作業です。
もっと効率的なやり方があると思うのですが、Python初心者なもので。。。
注意するのは画像データ(x_train, x_test)と正解ラベル(y_train, y_test)の次元数です。
画像データは2次元(784×データ数)であり、正解ラベルは1次元(データ数)です。
なので、画像データの方だけappend()の中身を[]で括っています。

修正は以上です。
これを実行しながら解析していけば、chainer1.11以降でもmnistの中身を理解できるはず!
(自分はまだ理解できていない。。)