TensorFlow for C のインストール

TensorFlow が提供する C API を使用して、他の言語用のバインディングを構築できます。この API は c_api.h に定義されており、便宜性よりも簡素化して統一性を持たせることを意図して設計されています。

対応プラットフォーム

TensorFlow for C は以下のシステムに対応しています。

  • Linux 64 ビット、x86
  • macOS X バージョン 10.12.6(Sierra)以上
  • Windows 64 ビット、x86

セットアップ

ダウンロード

TensorFlow C ライブラリURL
Linux
Linux CPU のみ https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.15.0.tar.gz
Linux GPU サポート https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-1.15.0.tar.gz
macOS
macOS CPU のみ https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-darwin-x86_64-1.15.0.tar.gz
Windows
Windows CPU のみ https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-1.15.0.zip
Windows GPU のみ https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-windows-x86_64-1.15.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 ライブラリをビルドする場合は、その手順をご確認ください。