2週間でAIを触れる! Python講座 AI [AIのサンプルコード]

2019年12月31日2週間でAIを触れるようになる!Python講座

先に,AI編で使うサンプルコードを公開しておきます.
これを読む前に2週間でAIを触れる! Python講座 AI [環境構築編]を読んでおいてください.

ダウンロード

deep.zip


このリンクをクリックしてdeep.ziをダウンロードしてください.
ダウンロードが終わったら展開してください.
3つのPythonファイルが入っています.

使い方

まず,deepの中にimagesというフォルダを作ります.
その中に判定させたいものの写真を入れます.
ここではりんごといちごを判定するとして説明します.
imagesの中に「apple」と「strawberry」というフォルダをつくります.
それぞれの中に,128×128ピクセルのりんごといちごの画像(拡張子jpg)を入れます.(この画像が学習データです)
そして, train_non.pyをテキストエディタで開いて,17行目の

num_classes = 5

の5の部分を変更します.
今回は,りんごといちごの二種類を判定するので2に変更します.
num_classesは画像を何種類判定するかを表す数字です.
次に,ターミナルを開いてcdコマンドでdeepまで移動します.
そして

python train_non.py

で実行します.
以下のような画面が出てくるので,処理が終わるまで待ちます.


この処理は,かなり時間がかかります.
僕のcore i7をつんだMacBook Pro2018(13.3インチ)で画像が合計約500枚でも281秒もかかります.
処理が終わると以下のように表示されるはずです.


そして,deepにmymodel.h5というファイルができています.
次に,deepに判定させたい画像をtest.jpgという名前で保存します.(サイズは128×128)
Prediction.pyをテキストエディタで開いて,13行目をtrain_non.pyと同じように書き換えます.
この状態でPrediction.pyを実行するとtest.jpgが学習データのどちらに似ている画像であるか判定してくれます.

This is apple

のように結果を表示してくれます.

各プログラムの役割

train_non.py

学習データから特徴を抽出するプログラムです.
学習データから特徴を抽出することを学習といいます.
抽出した特徴はh5ファイルというファイルに格納されています.

Prediction.py

これはh5ファイルを元に,画像が学習データのどちらに似ているか判定するプログラムです.

load_images.py

これは画像を読み込んで,学習に使える形に変換するプログラムです.
直接的には実行しませんが,これがtrain_non.pyと同じフォルダにないとエラーが出るので消さないでください.

Follow me!

2019年12月31日2週間でAIを触れるようになる!Python講座

Posted by timapple