TensorFlow : Install : TensorFlow for Go をインストールする (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 04/28/2017
* 本ページは、TensorFlow の本家サイトの Install – Installing TensorFlow for Go を翻訳した上で
適宜、補足説明したものです:
https://www.tensorflow.org/install/install_go
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
TensorFlow は Go プログラムでの使用のための API を提供しています。これらの API は特に Python で作成されたモデルをロードしたりそれらを Go アプリケーションで実行することに適合しています。このガイドは TensorFlow Go パッケージ をどのようにインストールしてセットアップするかを説明しています。
警告 : TensorFlow Go API は TensorFlow API stability guarantees でカバーされていません。
サポートされるプラットフォーム
次のオペレーティング・システム上で TensorFlow for Go をインストールできます :
- Linux
- Mac OS X
インストール
TensorFlow for Go は TensorFlow C ライブラリに依存します。このライブラリをインストールして TensorFlow for Go を有効にするには次のステップを取ってください :
- TensorFlow for Go を CPU(s) 上のみか GPU(s) の援助の上で実行するかを決めます。決定を助けるためには、次のガイドの一つの “Determine which TensorFlow to install” というタイトルのセクションを読んでください :
- 次のシェル・コマンドを呼び出すことで TensorFlow C ライブラリをダウンロードして /usr/local/lib に extract します :
TF_TYPE="cpu" # Change to "gpu" for GPU support TARGET_DIRECTORY='/usr/local' curl -L "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-${TF_TYPE}-$(go env GOOS)-x86_64-1.1.0.tar.gz" | sudo tar -C $TARGET_DIRECTORY -xz
tar コマンドは TensorFlow C ライブラリを TARGET_DIRECTORY の lib サブディレクトリに extract します。例えば、/usr/local の TARGET_DIRECTORY としての指定は tar に TensorFlow C ライブラリを /usr/local/lib に extract させます。
ライブラリを異なるディレクトリに extract したいのであれば、それに従って TARGET_DIRECTORY を調整してください。
- ステップ 2 で、TARGET_DIRECTORY としてシステム・ディレクトリ (例えば、/usr/local) を指定した場合は、リンカを構成するために ldconfig を実行します。例えば :
sudo ldconfig
TARGET_DIRECTORY をシステム・ディレクトリ以外に割り当てた場合は (例えば、~/mydir)、
extraction ディレクトリ (例えば、~/mydir/lib) を次のように2つの環境変数に追加しなければなりません :export LIBRARY_PATH=$LIBRARY_PATH:~/mydir/lib # For both Linux and Mac OS X export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/mydir/lib # For Linux only export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:~/mydir/lib # For Mac OS X only
- TensorFlow C ライブラリがインストールされたので、適切なパッケージとそれらの依存をダウンロードするために go get を次のように起動します :
go get github.com/tensorflow/tensorflow/tensorflow/go
- TensorFlow for Go インストールを検証するために go test を次のように起動します :
go test github.com/tensorflow/tensorflow/tensorflow/go
go get か go test がエラー・メッセージを生成する場合は、可能な解決方法のためには StackOverflow を検索 (or に投稿) してください。
Hello World
TensorFlow for 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 の TensorFlow のより進んだサンプルのためには、API 文書のサンプル を見てください、これは画像の内容にラベル付けするために事前訓練された TensorFlow モデルを使用しています。
実行する
次のコマンドを起動して hello_tf.go を実行します :
go run hello_tf.go Hello from TensorFlow version number
(訳注 : 以下は実行結果です)
$ go run hello_tf.g Hello from TensorFlow version 1.1.0
プログラムは次の形式の複数の警告メッセージを生成するかもしれませんが、無視できます :
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 ソースコードから TensorFlow for Go をビルドできます。
以上