安装 TensorFlow C 库

在 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

设置

下载并解压缩

TensorFlow C 库URL
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 库。