ホーム » Go 言語 » TensorFlow : Install : TensorFlow for Go をインストールする

TensorFlow : Install : TensorFlow for Go をインストールする

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 を有効にするには次のステップを取ってください :

  1. TensorFlow for Go を CPU(s) 上のみか GPU(s) の援助の上で実行するかを決めます。決定を助けるためには、次のガイドの一つの “Determine which TensorFlow to install” というタイトルのセクションを読んでください :

     

  2. 次のシェル・コマンドを呼び出すことで 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 を調整してください。
     

  3. ステップ 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
    
  4. TensorFlow C ライブラリがインストールされたので、適切なパッケージとそれらの依存をダウンロードするために go get を次のように起動します :
    go get github.com/tensorflow/tensorflow/tensorflow/go
    
  5. 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 をビルドできます。

 

以上



AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com