0
0

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.

Colaboratory 上で Tensorflow 2 を使い、自分の手書き数字のラベルを予測する。

Posted at

最終的なノートブック

image.png

Colaboratory 上でノートブックを作る

Colaboratory 上で、

  • ファイル > Python 3 の新しいノートブック

から新しいノートブックを作ります。

  • 編集 > ノートブックの設定

を選択すると次のようなポップアップが表示されるので、ハードウェア アクセラレート のドロップダウンメニューから GPU を選びましょう。

Screen Shot 2019-12-25 at 16.49.41.png

手書き文字画像のラベルを予測するモデルを学習する

次のチュートリアルを実行していきます。

Tensorflow のバージョン設定

!pip list | grep tensorflow

上記を実行すると、バージョンが 1.15.0 であることがわかります。

Screen Shot 2019-12-25 at 16.57.02.png
!pip install -U tensorflow

上記を実行すると次のようなエラーが出ますが、今回の範囲内では問題ありませんでした。

Screen Shot 2019-12-25 at 17.01.36.png

もう一度 pip list でバージョンを確認しておきましょう。

image.png

モデルを学習させる

ひたすら、チュートリアルのコードをコピペして、実行していきます。。。
5 epoch 回るのに、数分かかりましたが、問題なく終了しました。

MNIST データセットの入力がどんなものか表示してみる

ノートブック上で画像を表示する方法はいくつかありますが、今回は PIL を使います。

from PIL import Image

img = Image.fromarray(x_test[0].reshape((28,28)) * 255).convert("RGB")
img

次のように画像が 7 の画像が表示されました。

image.png

自分の手書き数字の画像のラベル予測してみる

鉛筆だと線が細すぎてうまくいかなかったので、マジックペンで上書きした次のような画像を用意しました。

my_input.jpg

左のペインを開くと、 ファイル というタブがあるので、選択すると今のワーキングディレクトリのファイルが表示されます。
アップロード というボタンがあるので、そこから自分の手書き画像をアップロードします。

image.png

MNISTの入力との違いは、

  • サイズが大きいこと
  • 白黒画像じゃないこと
  • 背景の方が明度が高いこと

なので、次のコードでMNISTの画像に合わせます。

from PIL import ImageOps

my_img = ImageOps.invert(Image.open("my_input.jpg").resize((28, 28)).convert("L"))
my_img

image.png

値を0~1に変換し、チャンネルの次元を加えて、先ほど学習したモデルに入力すると、
出力は次のようになりました。

import numpy as np

my_input = (np.array(my_img) / 255).reshape((28,28,1))
my_output = model([my_input]).numpy()[0]
my_output

image.png

次のコードで何番目のラベルの確率が一番高いか確認します。

my_output.argmax()

image.png

うまく予測できていることが確認できました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?