在 TensorFlow.org 上查看 | 在 Google Colab 中运行 | 在 GitHub 上查看源代码 | 下载笔记本 |
TensorFlow 提供了一个 C API,可用于构建 其他语言的绑定。该 API 在 c_api.h
中定义,旨在实现简单性和一致性,而不是便利性。
夜间 libtensorflow C 包
libtensorflow 包每天晚上构建并上传到 GCS,适用于所有支持的平台。它们被上传到 libtensorflow-nightly GCS 存储桶,并按操作系统和构建日期进行索引。对于 MacOS 和 Linux 共享对象,有一个 脚本 将版本化的 .so
文件重命名为当前日期,并将其复制到包含工件的目录中。
支持的平台
TensorFlow C 库支持以下系统
- Linux,64 位,x86
- macOS,版本 10.12.6 (Sierra) 或更高版本
- Windows,64 位 x86
设置
下载并解压缩
解压缩下载的存档,其中包含要包含在 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 库。