「TensorFlowSharp」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''TensorFlowSharp'''<ref>https://github.com/migueldeicaza/TensorFlowSharp</ref> | + | '''TensorFlowSharp'''<ref>https://github.com/migueldeicaza/TensorFlowSharp</ref>とは、TensorFlowを[[Mono]]から叩けるようにしたバインディングライブラリである。 |
== 概要 == | == 概要 == | ||
− | + | Miguel de Icaza氏のツイッターから流れてきた。 | |
− | + | ソースコードレベルでの移植ではなくバインディングなので事前の環境構築が必要となる。 | |
− | |||
== 環境構築 == | == 環境構築 == | ||
14行目: | 13行目: | ||
ln -s /usr/local/lib/libtensorflow.so /usr/local/lib/libtensorflow.dylib | ln -s /usr/local/lib/libtensorflow.so /usr/local/lib/libtensorflow.dylib | ||
− | |||
TensorFlowSharpの[[ソースコード]](サンプル含む)を落としてくる。 | TensorFlowSharpの[[ソースコード]](サンプル含む)を落としてくる。 | ||
git clone https://github.com/migueldeicaza/TensorFlowSharp.git | git clone https://github.com/migueldeicaza/TensorFlowSharp.git | ||
28行目: | 26行目: | ||
TFWhileParams result = TF_NewWhile (handle, inputs, inputs.Length, cstatus.handle); | TFWhileParams result = TF_NewWhile (handle, inputs, inputs.Length, cstatus.handle); | ||
− | == | + | == プロジェクトを作る == |
+ | * フレームワーク:.NET Framework 4.6.1 | ||
* プラットフォーム:x64 ←これ重要 | * プラットフォーム:x64 ←これ重要 | ||
− | + | ||
− | + | libtensorflowが64ビット必須であるため、プラットフォームターゲットを「x86」にしたままビルドすると実行時に落ちる。 | |
− | + | 必ずx64でビルドする必要がある。 | |
− | |||
− | |||
− | |||
− | |||
== サンプル == | == サンプル == | ||
+ | とりあえず「c = a + b」という式をTensorFlowに投げて実行してみる。 | ||
− | = | + | <source lang="csharp"> |
− | |||
using System; | using System; | ||
using System.Collections.Generic; | using System.Collections.Generic; | ||
56行目: | 51行目: | ||
var a = graph.Const( 1, "a"); // a = 1 | var a = graph.Const( 1, "a"); // a = 1 | ||
var b = graph.Const( 2, "b"); // b = 2 | var b = graph.Const( 2, "b"); // b = 2 | ||
− | var c = graph.Add( a, b, "c"); | + | var c = graph.Add( a, b, "c"); // c = a + b |
// 実行 | // 実行 | ||
68行目: | 63行目: | ||
} | } | ||
} | } | ||
− | </ | + | </source> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 関連項目 == | == 関連項目 == | ||
127行目: | 72行目: | ||
{{stub}} | {{stub}} | ||
− |