4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ゼロから作るDeepLearningでmnist_show.pyがエラーになる

Last updated at Posted at 2019-06-30

ゼロから作るDeepLearningの学習用として、windows10環境にPython Japanから入手したPython3.6.5をインストールして使っています。
Anaconda3も
https://www.anaconda.com/
からダウンロードして入れました。

githubの
https://github.com/oreilly-japan/deep-learning-from-scratch
から、本書で出てくる例題がすべてダウンロードできますので、すべてを適当なホルダに格納しておいて、コマンドプロンプトからそのホルダに移動して*.pyファイルを実行できます。

たとえば、例題をc:\deeplearningにすべて格納しているとすると、p.9に出てくるhungry.pyは、コマンドプロンプトから、
c:\deeplearning\ch01>hungry.py
と入力してenterすれば実行されます。

このやり方で学習を進めていきましたが、3章のmnist_show.pyを実行しようとすると次のようなエラーが出ます。
ModuleNotFoundError: No module named 'PIL'
これはネット上でも話題になっていて、PILライブラリがpillowというものに置き換わったことが原因だそうで、pillowをインストールすれば解決します。
コマンドプロンプトを管理者モードで起動し、

c:\WINDOWS\system32>py -m pip install pillow

のようにして、pillowをインストールします。

これでめでたくmnist_show.pyが起動できるかと思いきや、

c:\deeplearning\ch03>mnist_show.py

とすると画像が出るところでペイント3Dを起動しようとしてエラーが出ます。
よくわかりませんが、生成されたビットマップデータがペイント3Dで開けないというようなことかもしれません。

そこで、mnist_show.pyを次のように変更します。
変更箇所は#####でコメントを入れました。

# coding: utf-8
import sys, os
import matplotlib.pyplot as plt #####追加行1
sys.path.append(os.pardir)  # 親ディレクトリのファイルをインポートするための設定
import numpy as np
from dataset.mnist import load_mnist
from PIL import Image

def img_show(img):
    pil_img = Image.fromarray(np.uint8(img))
    pil_img.show()

(x_train, t_train), (x_test, t_test) = load_mnist(flatten=True, normalize=False)

img = x_train[0]
label = t_train[0]
print(label)  # 5

print(img.shape)  # (784,)
img = img.reshape(28, 28)  # 形状を元の画像サイズに変形
print(img.shape)  # (28, 28)

#img_show(img) #####コメントアウト

plt.imshow(img) #####追加行2
plt.show()      #####追加行3

つまり、image_showを使おうとするとペイント3Dを起動して失敗するので、pyplotを使って表示させています。

お役に立てれば幸いです。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?