はじめに
Microsoft社から無料で公開されている機械学習ツール「lobe」を使用して犬と猿を識別してみます。前回1から3までを説明しましたので、今回はlobeで学習から記載します。
1.必要なもの~3.犬、猿データ収集については前回を参照ください。今回は4.lobeで学習から記載します。
4.lobeで学習
lobeは無料の機械学習ツールです。
Downloadボタンをクリックするとユーザー登録画面になりますので、名前・Email・国を記入してDownloadをクリックします。
ダウンロードしたlobe.exeをインストールし、lobeを起動します。
Untitledにタイトルを記入します。タイトルは[犬or猿チェック]にしました。
inuフォルダとsaruフォルダをデータセットとしてとうろくするの登録するので、[import]⇒[Dataset]を選択します。
[Choose Dataset]をクリックし、フォルダーの選択でsaruを選びます。
次に[Import」をクリックします。
猿の画像が50枚追加されました。
同様に[Import]⇒[Dataset]⇒[Choose Dataset]⇒[フォルダの選択でinuを選択]⇒[Import]の順で実行します。
猿の画像と犬の画像が50枚ずつ計100枚となります。
Trainingは自動で始まり終了すると、犬と猿の識別が実行できるようになります。
5.学習結果をテスト
テストに使用する画像を取得します。
VSCでpythonを実行しFlickrから画像を取得します。dl_from flickr.pyの
1 |
& D:/anaconda3/envs/lobe_env1/python.exe c:/lobe_env1/dl_from_flickr.py 日本猿 |
画像をダウンロードしたらlobeの[Play]⇒[Import]を実行し、testフォルダの日本猿を選択します。(真ん中のImportを選択する代わりに画像をドラッグ&ドロップできます)
実行するとsaruと判断されました。このデータを学習させたい場合は右下の緑の「✔」または赤い「Θ」を選択します。正しかった場合は「✔」、間違っていた場合は「Θ」を選択します。入力データについて
6.Exportした学習データを使用してテスト
pillow==7.2.0
1 2 |
pip install tensorflow==1.15.4 pip install Pillow==7.2.0 |
tensorflowとPillowのインストールが完了したら、Visual Studio Codeで[ファイル]⇒[新しいウィンドウ]で新しくウィンドウを開きます。
新しく開いたVSCで[ファイル]⇒[フォルダを開く…]で「犬or猿チェック TensorFlow」フォルダを開きます。テスト用に猿と犬の画像を「犬or猿チェック TensorFlow」フォルダの下に置きます。猿をno1.jpg 犬をno2.jpgとしました。(画像のファイル名や画像の内容はなんでもいいです)
exampleフォルダの下のtf_example.pyを右クリックし、[ターミナルでPythonファイルを実行]を選択し実行します。
引数がないのでエラーとなります。
1 2 3 |
& D:/anaconda3/envs/lobe_env1/python.exe "c:/lobe_env1/export_from_lobe/犬or猿チェック TensorFlow/example/tf_example.py" usage: tf_example.py [-h] image tf_example.py: error: the following arguments are required: image |
VSCのターミナルでキーボードの「↑」を押してno1.jpgと入力し再実行します。
1 2 3 4 5 6 |
& D:/anaconda3/envs/lobe_env1/python.exe "c:/lobe_env1/export_from_lobe/犬or猿チェック TensorFlow/example/tf_example.py" .\no1.jpg WARNING:tensorflow:From c:/lobe_env1/export_from_lobe/犬or猿チェック TensorFlow/example/tf_example.py:40: load (from tensorflow.python.saved_model.loader_impl) is deprecated and will be removed in a future version. Instructions for updating: This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.loader.load or tf.compat.v1.saved_model.load. There will be a new function for importing SavedModels in Tensorflow 2.0. Predicted: {'Prediction': 'saru', 'Confidences': [0.0, 1.0]} |
実行結果:Predicted: {‘Prediction’: ‘saru’, ‘Confidences’: [0.0, 1.0]} となり猿と判定されました。
no1.jpgの代わりに犬の画像no2.jpgで実行すると犬と判定されました。
注意
何と何を比較するのかもう少し工夫が必要。
(犬の画像と猿の画像は全く異なるので、モデルは見分けられる。間違えない。)
フォルダ名、プロジェクトのタイトルは後々の作業に影響するので考慮が必要。
exportフォルダがプロジェクト名となるのでここも注意が必要。