メインメニューを開く

差分

TensorFlowSharp

1,179 バイト追加, 2018年8月21日 (火) 05:39
編集の要約なし
ln -s /usr/local/lib/libtensorflow.so /usr/local/lib/libtensorflow.dylib
== 公式サンプルを動かしてみる ==
TensorFlowSharpの[[ソースコード]](サンプル含む)を落としてくる。
git clone https://github.com/migueldeicaza/TensorFlowSharp.git
TFWhileParams result = TF_NewWhile (handle, inputs, inputs.Length, cstatus.handle);
== プロジェクトを作る プロジェクトを作ってみる ==
* プラットフォーム:x64 ←これ重要
*: Xamarin Studioで「コンソールアプリケーション」を作るとデフォルトで「x86」となっているので変更する。libtensorflowが64ビット必須であるため「x86」にしたままビルドすると実行時に落ちる。必ずx64でビルドする必要がある。
== サンプル ==
 
=== 足し算 ===
とりあえず「c = a + b」という式をTensorFlowに投げて実行してみる。
=== 保存と読込 ===<source lang="csharp"syntaxhighlight>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TensorFlow;
namespace sampletensor1
{
class MainClass { public static void Main(string[] args) { using (var graph = new TFGraph()) { Console.WriteLine("-- save --"); using (var session = new TFSession(graph)) { // 数値を作る var a = graphsession.Graph.Const( 130, "a"); // a = 1 var b = graphsession.Graph.Const( 212, "b");   // b = 2足し算 var c multiplyResults = graphsession.GetRunner().Run(session.Graph.Add( a, b, "c")); // c var multiplyResultValue = multiplyResults.GetValue(); Console.WriteLine("a + b= {0}", multiplyResultValue);
// 実行保存 var session = new TFSession.SaveTensors(graph"saved.tsf", new TFSessionOptions("a", a), ("b", b); var runner = session.GetRunner(); var result = runner.Run(c); }
Console.WriteLine("-- load --"); using (var session = new TFSession()) { // c 読込 var a = 3session.RestoreTensor("saved.tsf", "a", TFDataType.Int32); var b = session.RestoreTensor("saved.tsf", "b", TFDataType.Int32); // 足し算 Console var multiplyResults = session.GetRunner().WriteLineRun(resultsession.Graph.FirstOrDefaultAdd(a, b)); var multiplyResultValue = multiplyResults.GetValue(); Console.WriteLine("a + b = {0}", multiplyResultValue); } } } }
}
</sourcesyntaxhighlight>
== 関連項目 ==
匿名利用者