またヘンなものを勉強中である。ヘンというのは「またどうせ私にゃモノにならないであろうもの」という意味で、勉強の対象がヘンという意味ではない。
例によって対象がミニマムなので、新着に表示されにくくするため日付をさかのぼって公開しています。自分用のメモと、もし同様のトラブルに悩まされている人が検索で見に来たら、ヒントになればという意図での公開です。つかむしろ「ナニ間違ったことやっとんじゃいボケ!」とお気づきの方がいたら、ぜひご教示願います。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (11件) を見る
プラットフォームは Windows10。Python 3 系をインストールして、GIT HUB よりサンプルプログラムをダウンロードして、3章の途中まではサンプルプログラムがサクサク動くことを確認した。
3章P75で、サンプルプログラム ch03\mnist_show.py を実行してMNIST画像を表示させようとしたところで、つまずいた。MNIST画像とはなんぞやということは、拙記事では解説しません。検索して適切な記事をご参照ください。
こんな感じ。私のパソコンは BMPファイルを Windowsフォトビューアーに関連付けています。
そこで、1章P19で画像を表示したサンプルプログラム ch01\img_show.py を参考にして、次のように改造してみた。
import sys, os
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)print(img.shape) # (784,)
img = img.reshape(28, 28)
print(img.shape) # (28, 28)import matplotlib.pyplot as plt
from matplotlib.image import imreadplt.imshow(img)
plt.show()
青文字で表示した部分はサンプルプログラム mnist_show.py 、緑で表示した部分は img_show.py から流用したものである。
実行すると、サイズはでかいがP75の挿し絵と同じと思われる画像が表示された!
なお、ソースコード中の赤字で表示した数字 “0” を “1” に変更すると…
と表示された。“2”、“3”、“4”、…と変更すると、表示される数字は “4”、“1”、“9”、…と変わった。合ってますか?(誰に訊く?
とかなんとかやった後で、もう一度サンプルプログラム mnist_show.py をもう一度走らせたら…
なぜ表示される!? ソースコード変更しないで、そのまま再実行させただけなのに??
エントリーにする前に、手持ちのもう1台のノーパソで同じプログラムを実行して、同じ現象が再現されることを確認した。なんでそうなるかは、今のところ謎である。
スポンサーリンク