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 程式庫 | 網址 |
---|---|
Linux | |
Linux (僅支援 CPU) | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.5.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 程式庫。