安装 C 版 TensorFlow

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

设置

下载

TensorFlow C 库网址
Linux
Linux(仅支持 CPU) https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.6.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 库。