TensorFlow が提供する Go API は、Python で作成したモデルを読み込んで Go アプリケーション内で実行する場合に特に便利です。
対応プラットフォーム
TensorFlow for Go は以下のシステムに対応しています。
- Linux 64 ビット、x86
- macOS バージョン 10.12.6(Sierra)以降
設定
TensorFlow C ライブラリ
TensorFlow の Go パッケージに必要な TensorFlow の C ライブラリをインストールします。
ダウンロード
TensorFlow の Go パッケージとその依存関係をダウンロードしてインストールします。
go get github.com/tensorflow/tensorflow/tensorflow/go
次に、インストールを検証します。
go test github.com/tensorflow/tensorflow/tensorflow/go
ビルド
サンプル プログラム
TensorFlow の Go パッケージをインストールした後、以下のソースコード(hello_tf.go
)を使ってサンプル プログラムを作成します。
package main
import (
tf "github.com/tensorflow/tensorflow/tensorflow/go"
"github.com/tensorflow/tensorflow/tensorflow/go/op"
"fmt"
)
func main() {
// Construct a graph with an operation that produces a string constant.
s := op.NewScope()
c := op.Const(s, "Hello from TensorFlow version " + tf.Version())
graph, err := s.Finalize()
if err != nil {
panic(err)
}
// Execute the graph in a session.
sess, err := tf.NewSession(graph, nil)
if err != nil {
panic(err)
}
output, err := sess.Run(nil, []tf.Output{c}, nil)
if err != nil {
panic(err)
}
fmt.Println(output[0].Value())
}
実行
サンプル プログラムを実行します。
go run hello_tf.go
コマンド出力: Hello from TensorFlow version number
このプログラムでは以下の警告メッセージが表示されることがありますが、無視して構いません。
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use *Type* instructions, but these are available on your machine and could speed up CPU computations.
ソースからのビルド
TensorFlow はオープンソースです。ソースコードから TensorFlow for Go をビルドする場合は、その手順をご確認ください。