GradioとTensorflowを使って手書き認識

目次

今回はこちらの記事の内容そっくりそのままやってみました。
19行のpythonコードでできちゃうという魅力的な内容となっています。

https://medium.com/swlh/a-gui-to-recognize-handwritten-digits-in-19-lines-of-python-fda715e525d0

今回はとりあえずやってみたシリーズです!
なので、詳しい説明は省いていますのでご了承ください。
結構簡単にできるので、
python初心者、機械学習初心者、興味がある方、とりあえず何かやってみた方、などなど
ぜひ試してみてください!

Step 1: 必要なものをインストール

Tensorflowをインストール
https://www.tensorflow.org/

Gradioをインストール
https://www.gradio.app/

Step 2: コードを書く

まず初めはmnistデータセットを読み込ませます。
mnistデータセットは手書き数字のデータベースです。
60,000のトレーニング用データと10,000のテスト用データが含まれています。
http://yann.lecun.com/exdb/mnist/

https://www.tensorflow.org/datasets/catalog/mnist

ここにある、x_train = x_train / 255.0 などの記述は、
機械学習で画像を扱う場合定番の前処理で、「正規化」と呼ばれるものです。
だいたい挟まれる処理なので、こんなもんだと今回は思っておけば大丈夫です。
詳しく知りたい場合は、以下の記事がおすすめです!
https://potesara-tips.com/deeplearnig-preprocessing-image/

そして、モデルを訓練させます。

れを実行すると、次のような出力が得られます。

次はGUIを作っていきます。

Step3: 実行、そして遊ぶ

これを以下のように実行

と出力されるので7860ポートでアクセス。
でた!
簡単に手書き認識ができるようになりました!

今回はやってみたシリーズなので、ただただチュートリアルにしたがって試しただけですが、
出てきた用語や、コードなどは機械学習においてはとても重要なものが多いので、
興味のある方はじっくり調べてみるのをお勧めします!
特にTensorflowには様々なライブラリやサブモジュールなどが用意されていますし、
google colab などを利用すればすぐに試すことができます。
ちょっとでも興味がある方はまず簡単なモデルを使って遊んでみるのがいいですね!
また何か面白いものがあれば試して紹介したいと思います!

Happy Hacking!