[译] 系列教程:Installing TensorFlow for C

本文出自 掘金翻译计划 正在组织翻译的 TensorFlow 官方文档。若是您有兴趣,欢迎 申请成为译者,学习完译者教程后,参与到文章和文档的翻译和及对当中。咱们也正在招募 TensorFlow 译者,欢迎积极参加。前端


TensorFlow 在 c_api.h中定义了一套 C API,用来提供适合于创建和其余语言的绑定. 这套 API 倾向于简单性和一致性,而不是方便。linux

支持的平台

你可能会在下面的操做系统上安装用于 C 的 TensorFlow:android

  • Linux
  • Mac OS X

安装

采起下面几步来安装用于 C 的 TensorFlow 库,而后打开用于 C 的 TensorFlow:ios

  1. 选择你将会仅仅运行用于 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}
    复制代码
  2. 经过调用下面的 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/libgit

若是你更但愿解压库到不一样的目录,那么相应的调整 TARGET_DIRECTORYgithub

  1. 在上一步中,若是你指定了一个系统目录(好比,/usr/local)做为 TARGET_DIRECTORY,而后运行 ldconfig 配置连接器。 好比:
sudo ldconfig

若是你指定了一个 TARGET_DIRECTORY 而不是系统目录,(好比,~/mydir),那么你必须设定你的解压目录(好比,~/mydir/lib)到两个环境变量中。 好比:shell

 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.capi

gcc hello_tf.c

运行生成的可执行文件应该输出如下消息:bash

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 寻找或者请求可能的解决方案.


掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 AndroidiOS前端后端区块链产品设计人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划官方微博知乎专栏

相关文章
相关标签/搜索