TensorFlow for C のインストール

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

セットアップ

ダウンロード

TensorFlow C ライブラリURL
Linux
Linux、CPU のみ https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.6.0.tar.gz
Linux、GPU サポート https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-2.6.0.tar.gz
macOS
macOS、CPU のみ https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-darwin-x86_64-2.6.0.tar.gz
Windows
Windows、CPU のみ https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-2.6.0.zip
Windows、GPU のみ https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-windows-x86_64-2.6.0.zip

解凍

ダウンロードしたアーカイブを解凍します。アーカイブには、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 ライブラリをビルドする場合は、その手順をご確認ください。