TensorFlow : Install : TensorFlow for C をインストールする (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 04/29/2017
* 本ページは、TensorFlow の本家サイトの Install – Installing TensorFlow for C を翻訳した上で
適宜、補足説明したものです:
https://www.tensorflow.org/install/install_c
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
TensorFlow は c_api.h で定義される C API を提供します、これは他の言語のための binding をビルドするために適切です。API は便利さよりも単純性と統一性に寄っています。
サポートされるプラットフォーム
TensorFlow for C は次のオペレーティング・システム上でインストールできます :
- Linux
- Mac OS X
インストール
TensorFlow for C ライブラリをインストールして TensorFlow for C を有効にするには次のステップを取ってください :
- TensorFlow for C を CPU(s) 上のみか GPU(s) の援助の上で実行するかを決めます。決定を助けるためには、次のガイドの一つの “Determine which TensorFlow to install” というタイトルのセクションを読んでください :
- 次のシェルコマンドを起動して TensorFlow C ライブラリをダウンロードして /usr/local/lib に extract します :
TF_TYPE="cpu" # Change to "gpu" for GPU support OS="linux" # Change to "darwin" for Mac OS TARGET_DIRECTORY="/usr/local" curl -L "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-${TF_TYPE}-${OS}-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 for C をインストールした後、hello_tf.c という名前のファイルに次のコードを入力します :
#include <stdio.h> #include <tensorflow/c/c_api.h> int main() { printf(“Hello from TensorFlow C library version %s\n”, TF_Version()); return 0; }
ビルドと実行
次のコマンドを起動して hello_tf.c をビルドします :
gcc hello_tf.c
結果としての executable の実行は次のメッセージを出力するはずです :
a.out Hello from TensorFlow C library version number
(訳注: 実行結果の出力です)
Hello from TensorFlow C library version 1.1.0
Troubleshooting
プログラムのビルドが失敗する場合、最もありがちな原因は gcc が TensorFlow C ライブラリを見つけられないことです。この問題を修正する一つの方法は gcc に -I と -L オプションを指定することです。例えば、もし TARGET_LIBRARY が /usr/local ならば、gcc を次のように起動します :
gcc -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow
もし a.out の実行が失敗するなら、自分自身に次の質問を問いかけましょう :
- プログラムはエラーなしにビルドしたか?
- インストールのステップ 3 で記載された環境変数に正しいディレクトリを割り当てたか?
- それらの環境変数を export したか?
もし依然としてビルドまたは実行エラーメッセージを見るのであれば、可能な解法のために StackOverflow を検索 (に投稿) しましょう。
以上