TensorFlow が提供する C API を使用して、他の言語用のバインディングをビルドできます。この API は c_api.h
に定義されており、便宜性よりも簡素化して統一性を持たせることを意図して設計されています。
Nightly Libtensorflow C パッケージ
Libtensorflow パッケージは夜間にビルドされ、すべての対応プラットフォーム別に GCS にアップロードされます。libtensorflow-nightly GCS バケットにアップロードされ、オペレーティング システムとビルドされた日によってインデックスに登録されます。MacOS および Linux の共有オブジェクトの場合、バージョニングされた .so ファイルの名前を現在の日付に変更し、アーティファクト ディレクトリにコピーするスクリプトがあります。
対応プラットフォーム
TensorFlow for C は以下のシステムに対応しています。
- Linux 64 ビット、x86
- macOS バージョン 10.12.6(Sierra)以降
- Windows 64 ビット、x86
セットアップ
ダウンロード
解凍
ダウンロードしたアーカイブを解凍します。アーカイブには、C プログラムに含めるヘッダー ファイルと、リンク先の共有ライブラリが含まれています。
Linux と macOS では /usr/local/lib
に展開できます。
sudo tar -C /usr/local -xzf (downloaded file)
リンカー
Linux または macOS 上で、TensorFlow の C ライブラリをシステム ディレクトリ(/usr/local
など)に解凍する場合は、ldconfig
を使ってリンカーを構成します。
sudo ldconfig
TensorFlow の C ライブラリをシステム以外のディレクトリ(~/mydir
など)に解凍する場合は、リンカー環境変数を構成します。
Linux
export LIBRARY_PATH=$LIBRARY_PATH:~/mydir/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/mydir/lib
macOS
export LIBRARY_PATH=$LIBRARY_PATH:~/mydir/lib export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:~/mydir/lib
ビルド
サンプル プログラム
TensorFlow の 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;
}
コンパイル
サンプル プログラムをコンパイルして実行可能ファイルを作成し、次のように実行します。
gcc hello_tf.c -ltensorflow -o hello_tf
./hello_tf
コマンド出力: Hello from TensorFlow C library version number
プログラムがビルドされない場合は、gcc
が TensorFlow の C ライブラリにアクセスできるかどうかを確認します。解凍先が /usr/local
の場合は、ライブラリの場所を明示してコンパイラに渡します。
gcc -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow -o hello_tf
ソースからのビルド
TensorFlow はオープンソースです。ソースコードから TensorFlow の C ライブラリをビルドする場合は、その手順をご確認ください。