本記事は、Tensorflowの本家サイトの「 Installing TensorFlow for C」を翻訳(適宜意訳)したものです。誤り等あればご指摘いただけたら幸いです。
TensorFlow for C をインストールしよう
TensorFlowはc api.h
で定義されているC APIを提供しています。これは他の言語に結合するのに適しています。
サポートされるプラットフォーム
次のオペレーティングシステムでTensorFlow for Cをインストールすることができます。
- Linux
- Mac OS X
インストール
TensorFlow for Cライブラリをインストールし、TensorFlow for Cを有効にするには、次の手順を実行します。
1. CPUでTensorFlowを実行するか、GPUを使用してTensorFlowを実行するかを決定します。 決定を手助けするために、次のいずれかのガイドの「インストールするTensorFlowの決定」セクションを読んでください。
2.次のシェルコマンドを実行して、TensorFlow Cライブラリを /usr/local/lib
にダウンロードして解凍します。
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.3.0.tar.gz" | sudo tar -C $TARGET_DIRECTORY -xz
tar
コマンドは、TensorFlow CライブラリをTARGET_DIRECTORY
のlib
サブディレクトリに解凍&展開します。たとえば、TARGET_DIRECTORY
として /usr/local
を指定すると、tarはTensorFlow Cライブラリを /usr/local/lib
に解凍&展開します。
ライブラリを別のディレクトリに展開する場合は、それに応じてTARGET_DIRECTORY
を調整しましょう。
3.ステップ2で、TARGET_DIRECTORY
としてシステムディレクトリ(たとえば、/usr/local
)を指定した場合は、ldconfig
を実行してリンカーを設定します。(ldconfitコマンドについて参考ページ)
sudo ldconfig
システムディレクトリ以外のTARGET_DIRECTORY
(たとえば、~/mydir
)を割り当てた場合は、抽出ディレクトリ(たとえば、~/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
結果の実行可能ファイルを実行すると、次のメッセージが出力されます。
a.out Hello from TensorFlow C library version number
トラブルシューティング
プログラムの構築に失敗した場合は、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で説明した環境変数に正しいディレクトリを割り当てましたか?
- これらの環境変数をエクスポートしましたか?
ビルドまたは実行のエラーメッセージが表示されている場合は、可能なソリューションについてStackOverflowを検索(または投稿)してください。