本文出自
掘金翻译计划 正在组织翻译的
TensorFlow 官方文档。如果您有兴趣,欢迎
申请成为译者,学习完译者教程后,参与到文章和文档的翻译和及对当中。我们也正在招募 TensorFlow 译者,欢迎积极参加。
TensorFlow 在 c_api.h
中定义了一套 C API,用来提供适合于建立和其他语言的绑定. 这套 API 倾向于简单性和一致性,而不是方便。
支持的平台
你可能会在下面的操作系统上安装用于 C 的 TensorFlow:
- Linux
- Mac OS X
安装
采取下面几步来安装用于 C 的 TensorFlow 库,然后打开用于 C 的 TensorFlow:
- 选择你将会仅仅运行用于 C 的 TensoFlow 在 CPU(S)上,还是有 GPU(S)的帮助。为了帮你做出选择,在以下指南中阅读这一节,标题为决定安装哪个TensorFlow”:
* @{$install_linux#determine_which_tensorflow_to_install$Installing TensorFlow on Linux}
* @{$install_mac#determine_which_tensorflow_to_install$Installing TensorFlow on Mac OS}
- 通过调用下面的 shell 命令,下载并且解压 TensorFlow 的 C 库到
/usr/local/lib
:
TF_TYPE="cpu" # Change to "gpu" for GPU support
OS="linux" # Change to "darwin" for Mac OS
TARGET_DIRECTORY="/usr/local"
curl -L \
"https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-${TF_TYPE}-${OS}-x86_64-1.4.0-rc0.tar.gz" |
sudo tar -C $TARGET_DIRECTORY -xz
tar
命令会解压 TensorFlow C 库到 TARGET_DIRECTORY
的子目录 lib
中。比如指定 /usr/local
作为 TARGET_DIRECTORY
,那么 tar
就会解压TensorFlow C 库到 /usr/local/lib
。
如果你更希望解压库到不同的目录,那么相应的调整 TARGET_DIRECTORY
。
- 在上一步中,如果你指定了一个系统目录(比如,
/usr/local
)作为TARGET_DIRECTORY
,然后运行ldconfig
配置链接器。 比如:
sudo ldconfig
如果你指定了一个 `TARGET_DIRECTORY` 而不是系统目录,(比如,`~/mydir`),那么你必须设定你的解压目录(比如,`~/mydir/lib`)到两个环境变量中。 比如:
export LIBRARY_PATH=$LIBRARY_PATH:~/mydir/lib # For both Linux and Mac OS X
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/mydir/lib # For Linux only
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:~/mydir/lib # For Mac OS X only
验证你的安装
在安装完成之后,新建文件,输入以下代码,文件命名为 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;
}
编译和运行
调用以下命令来编译 hello_tf.c
gcc hello_tf.c
运行生成的可执行文件应该输出以下消息:
a.out
Hello from TensorFlow C library version number
定位问题
如果程序编译失败,最有可能的错误是 gcc
找不到 TensorFlow C 库.解决这个问题的方法是为 gcc
指定 -I
和 -L
选项.比如,TARGET_LIBRARY
是/usr/local
,你应该这样调用 gcc
:
gcc -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow
如果执行 a.out
失败,你就要问问自己这几个问题了:
- 这个程序编译有没有错误?
- 是否按第三步 安装, 指定了正确的环境变量的目录?
- 是否有正确的
export
这些环境变量?
如果你仍然会有编译或者运行的错误信息, 请到 StackOverflow 寻找或者请求可能的解决方案.
掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为
掘金 上的英文分享文章。内容覆盖
Android、
iOS、
前端、
后端、
区块链、
产品、
设计、
人工智能等领域,想要查看更多优质译文请持续关注
掘金翻译计划、
官方微博、
知乎专栏。