TensorFlowSharp

提供: MonoBook
2017年3月28日 (火) 08:27時点における103.22.200.102 (トーク)による版 (→‎環境構築)
ナビゲーションに移動 検索に移動

TensorFlowSharp[1]とは、TensorFlowをMonoから叩けるようにしたバインディングライブラリである。

概要

Miguel de Icaza氏のツイッターから流れてきた。 ソースコードレベルでの移植ではなくバインディングなので事前の環境構築が必要となる。

環境構築

Mac

TensorFlowSharp公式の説明ではlibtensorflowのバイナリを直接ダウンロードするように指示されているが、macだとhomebrewにもlibtensorflowがあるようなのでこちらを使った。

brew install libtensorflow

homebrewではlibtensorflowの拡張子が「.so」のままなので「.dylib」のシンボリックリンクを貼る。

ln -s /usr/local/lib/libtensorflow.so /usr/local/lib/libtensorflow.dylib

TensorFlowSharpのソースコード(サンプル含む)を落としてくる。

git clone https://github.com/migueldeicaza/TensorFlowSharp.git
cd TensorFlowSharp

なぜかサンプル周りで使われているパッケージの復元をXamarin Studioで実行すると失敗するのでコンソール上で復元しておく。

nuget restore

Xamarin Studioで開いてみる

open TensorFlowSharp.sln 

SampleTestプロジェクトを実行してみると以下の部分で例外が発生して落ちる。なぜかは知らん。

TFWhileParams result = TF_NewWhile (handle, inputs, inputs.Length, cstatus.handle);

プロジェクトを作る

  • フレームワーク:.NET Framework 4.6.1
  • プラットフォーム:x64 ←これ重要

libtensorflowが64ビット必須であるため、プラットフォームターゲットを「x86」にしたままビルドすると実行時に落ちる。 必ずx64でビルドする必要がある。

関連項目

参考文献