2018/09/22(土)ML.NET 0.5でディープラーニング

そういえばその後ML.NETはどうなった?と思って調べたらいつの間にか0.5になっていました。
C#でTensorFlowを使ったディープラーニングが可能になってました。
サンプル(TensorFlowのサンプルは samples / csharp / examples / DeepLearning_TensorFlowMLNETInceptionv3ModelScoring / )が公開されているのでダウンロードし試してみようとしたら、NU1102エラーが出てNugetで失敗します。
未公開のML.NET 0.6.0-preview-26912-3が参照されているので、パッケージマネージャで
PM>  Install-Package Microsoft.ML -Version 0.6.0-preview-26912-3 
しても404エラー。
プロジェクトファイルを直接編集して0.6.0-preview-26912-3を0.5.0に変えるとNugetは成功しますが、ビルドで下記のエラー。
'TensorFlowScorer' に 'OutputColumns' の定義がありません
定義にとんでいくとOutputColumnはあるけれどOutputColumnsはありません。
//OutputColumns = new[] { InceptionSettings.outputTensorName }
//↓
OutputColumn = InceptionSettings.outputTensorName
に変更してビルドしたら大量のエラー。
mldl020.png

メゲメゲ(^^;)。

0.6.0-preview-26912-3を取得する方法が判明。英語ですがもろそのもの。
nugetじゃなくてmygetしろと。nugetツールにパッケージソースを追加する方法で無事0.6.0-preview-26912-3を取得できました。
nugetprev010.png

ところが実行すると全く同じエラー。
仕方なくメッセージを読むとtensorflow.dllもしくはその依存関係が見つかっていない。
dllがちゃんとあるかどうか確認しようとしたら、プロジェクト内にnuget関連のdllが一つもなし。
調べたらユーザーフォルダにマイドキュメント等と並んで.nugetフォルダが存在しその中にありました。
tensorflow010.png

プロジェクトをいじったり別のパッケージを入れようとしたり穢れている気がしたのでnugetのキャッシュのクリアを試しました。
改めてダウンロードしたプロジェクトを解凍するところから始めましたが、結局同じエラー。
何か手順がもれているのか、環境(Win7 64bit)のせいなのか。
まあ時間が解決してくれると思うので待ちます。
OK キャンセル 確認 その他