TensorFlow for Go のインストール

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 をビルドする場合は、その手順をご確認ください。