TensorFlow 提供了一个 C API,该 API 可用于为其他语言构建绑定。该 API 在 c_api.h
中定义,旨在实现简洁性和一致性,而不是便利性。
每夜版 Libtensorflow C 软件包
Libtensorflow 软件包是在夜间构建的,并会针对所有受支持平台上传到 GCS。软件包会上传到 libtensorflow-nightly GCS 存储分区,并按操作系统和构建日期编入索引。对于 MacOS 和 Linux 的共享对象,我们的脚本会根据当前日期重命名 .so 文件,这些文件已复制到包含工件的目录中。
支持的平台
以下系统支持 C 版 TensorFlow:
- Linux - 64 位,x86
- macOS - 版本 10.12.6 (Sierra) 或更高版本
- Windows - 64 位,x86
设置
下载
解压缩
解压缩下载的归档文件,其中包含要添加到 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 库。