<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          TensorFlowSharpTensorFlow 的 .NET 綁定

          聯(lián)合創(chuàng)作 · 2023-09-26 04:38

          TensorFlowSharp 是對(duì) TensorFlow C 語(yǔ)言版 API 的封裝,綁定為 .NET API,也是 TensorFlow 的 C# 語(yǔ)言表述,以此來方便 C# 和 F# 開發(fā)人員使用 TensorFlow。

          目前它與 TensoFlow 接口的綁定工作已經(jīng)進(jìn)入尾聲,作者正在對(duì) API 做一些優(yōu)化。

          使用 TensorFlowSharp

          安裝

          最簡(jiǎn)單的入門方法是使用 TensorFlowSharp 的 NuGet 包,它包含了 .NET API 和 64 位 Linux、Mac 和 Windows 的原生庫(kù)。

          nuget install TensorFlowSharp

          或者你也可以在 Visual Studio 中的 NuGet 包 UI 中選擇它。

          在 VS 中,要先確保你的環(huán)境是 .NET 4.6.1 或者更高版本,因?yàn)檫@個(gè)軟件包使用了一些新的 .NET 特性。

          當(dāng)然,你也可以直接點(diǎn)擊這里下載。

          使用 TensorFlowSharp

          最好的學(xué)習(xí)方式是閱讀 SampleTest 和 Examples 目錄下的 stand-alone 這兩個(gè)demo,它們使用了大量 TensorFlowSharp 的 API 。

          這種 API 綁定在設(shè)計(jì)上更接近使用顯式 TensorFlow 圖形和會(huì)話的 Java 和 Go 綁定。

          通常會(huì)先創(chuàng)建一個(gè)圖形(TFGraph)并在那里設(shè)置操作,然后從中創(chuàng)建會(huì)話(TFSession),接著使用會(huì)話運(yùn)行器設(shè)置輸入和輸出并執(zhí)行。

          例如:

          using(var graph = new TFGraph ())
          {
              graph.Import (File.ReadAllBytes ("MySavedModel"));
              var session = new TFSession (graph);
              var runner = session.GetRunner ();
              runner.AddInput (graph ["input"] [0], tensor);
              runner.Fetch (graph ["output"] [0]);
          
              var output = runner.Run ();
          
              // Fetch the results from output:
              TFTensor result = output [0];
          }

          在不需要獨(dú)立設(shè)置圖形的情況下,可以在會(huì)話中創(chuàng)建一個(gè)。以下示例顯示如何濫用 TensorFlow 來計(jì)算兩個(gè)數(shù)字的相加:

          using (var session = new TFSession())
          {
              var graph = session.Graph;
          
              var a = graph.Const(2);
              var b = graph.Const(3);
              Console.WriteLine("a=2 b=3");
          
              // Add two constants
              var addingResults = session.GetRunner().Run(graph.Add(a, b));
              var addingResultValue = addingResults.GetValue();
              Console.WriteLine("a+b={0}", addingResultValue);
          
              // Multiply two constants
              var multiplyResults = session.GetRunner().Run(graph.Mul(a, b));
              var multiplyResultValue = multiplyResults.GetValue();
              Console.WriteLine("a*b={0}", multiplyResultValue);
          }

          下邊是使用 F# 的同一個(gè)例子:

          #r @"packages\TensorFlowSharp.1.4.0\lib\net461\TensorFlowSharp.dll"
          
          open System
          open System.IO
          open TensorFlow
          
          // set the path to find the native DLL
          Environment.SetEnvironmentVariable("Path", 
              Environment.GetEnvironmentVariable("Path") + ";" + __SOURCE_DIRECTORY__ + @"/packages/TensorFlowSharp.1.2.2/native")
          
          module AddTwoNumbers = 
              let session = new TFSession()
              let graph = session.Graph
          
              let a = graph.Const(new TFTensor(2))
              let b = graph.Const(new TFTensor(3))
              Console.WriteLine("a=2 b=3")
          
              // Add two constants
              let addingResults = session.GetRunner().Run(graph.Add(a, b))
              let addingResultValue = addingResults.GetValue()
              Console.WriteLine("a+b={0}", addingResultValue)
          
              // Multiply two constants
              let multiplyResults = session.GetRunner().Run(graph.Mul(a, b))
              let multiplyResultValue = multiplyResults.GetValue()
              Console.WriteLine("a*b={0}", multiplyResultValue)

          推進(jìn) TensorFlowSharp

          如果你想推進(jìn) TensorFlowSharp 的發(fā)展,可以閱讀 CONTRIBUTING.md 。

          瀏覽 33
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91熟女乱伦 | 伊人色图| 国产精品国产三级国产专区53 | 成人精品天堂一区二区三区五区 | 2024AV天堂 |