安裝 C 版 TensorFlow

在 TensorFlow.org 上檢視 在 Google Colab 中執行 在 GitHub 上檢視原始碼 下載筆記本

TensorFlow 提供 C API,可用於為其他語言建立繫結。c_api.h 中定義了這個 API,其設計宗旨是簡潔和統一,而非便利性。

每晚 libtensorflow C 套件

libtensorflow 套件為每晚建構,並上傳至 GCS 以供所有支援的平台使用。這些套件會上傳至 libtensorflow-nightly GCS 儲存區,並依作業系統和建構日期建立索引。對於 MacOS 和 Linux 共用物件,有一個 指令碼 會重新命名 .so 檔案,並將版本號碼設為複製到包含成品目錄的目前日期。

支援的平台

下列系統支援 C 版 TensorFlow

  • Linux,64 位元,x86
  • macOS,10.12.6 (Sierra) 版或更高版本
  • Windows,64 位元 x86

設定

下載並解壓縮

TensorFlow C 程式庫網址
Linux
僅限 Linux CPU https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.15.0.tar.gz
Linux GPU 支援 https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-2.15.0.tar.gz
macOS
僅限 macOS CPU https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-darwin-x86_64-2.15.0.tar.gz
Windows
僅限 Windows CPU https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-2.15.0.zip
僅限 Windows GPU https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-windows-x86_64-2.10.0.zip

解壓縮下載的封存檔,其中包含要納入 C 程式的標頭檔,以及要連結的共用程式庫。

在 Linux 和 macOS 上,您可能會想要解壓縮到 /usr/local/lib

FILENAME=libtensorflow-cpu-linux-x86_64-2.15.0.tar.gz
wget -q --no-check-certificate https://storage.googleapis.com/tensorflow/libtensorflow/${FILENAME}
sudo tar -C /usr/local -xzf ${FILENAME}

連結器

在 Linux/macOS 上,如果您將 TensorFlow C 程式庫解壓縮到系統目錄 (例如 /usr/local),請使用 ldconfig 設定連結器

sudo ldconfig /usr/local/lib

如果您將 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) 建立範例程式

%%writefile 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;
}
Writing hello_tf.c

編譯

編譯範例程式以建立可執行檔,然後執行

gcc hello_tf.c -ltensorflow -o hello_tf

./hello_tf
Hello from TensorFlow C library version 2.15.0

如果程式無法建構,請確認 gcc 可以存取 TensorFlow C 程式庫。如果解壓縮到 /usr/local,請明確將程式庫位置傳遞至編譯器

gcc -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow -o hello_tf

./hello_tf
Hello from TensorFlow C library version 2.15.0

從原始碼建構

TensorFlow 是開放原始碼。請參閱操作說明,從原始碼建構 TensorFlow 的 C 程式庫。