ML.NETを導入する時は便利なツールがあります。それはML.NET Model Builderです。
クリックだけで、train modelを作れる、コードまで自動的に生成する。
docs.microsoft.com
ただ、VB.NETがサポートされていないです。そこで、ML.NETのAPIを使って画像認識を行います。
プロジェクトの作成とパッケージのインストール
今回は転移学習のチュートリアルを参照して、VB.netに書き換えてみます。
docs.microsoft.com
プロジェクトの作成は結構簡単です。
- 普通のVB.netの .net Framwork4.6.1以降のデスクトップアプリプロジェクトを作成します。
- 「プロジェクト」の「Nugetパッケージの管理」を開きます。
- チュートリアルによると、
- [参照] タブを選択します。
- [プレリリースを含める] チェックボックスをオンにします。
- Microsoft.ML を探します。
- [インストール] ボタンを選択します。
- [変更のプレビュー] ダイアログの [OK] を選択します。表示されているパッケージのライセンス条項に同意する場合は、 [ライセンスの同意] ダイアログの [同意する] を選択します。
- Microsoft.ML.Vision、SciSharp.TensorFlow.Redist、および Microsoft.ML.ImageAnalytics NuGet パッケージに対して、これらの手順を繰り返します。
各パッケージのインストールに伴い、サポートパッケージインストールされますので、たくさんのパッケージが表示されます。全部インストールできたら以下のようになります。(パッケージのインストールがとても大事で、詳細の紹介はMicrosoftのチュートリアルを参照してください。)
転移学習
簡単に言うとTensorflowですでにトレーニングしたモデルを用いて、自分のデータと合わせてトレーニングし、モデルを特化する学習するプログレスです。
利点としては、モデルの学習時間が短縮できます。
欠点は、事前トレーニング済みモデルなので、不要データが入っているので、データが大きい。