本文出自 正在组织翻译的 。如果您有兴趣,欢迎 ,学习完译者教程后,参与到文章和文档的翻译和及对当中。我们也正在招募 TensorFlow 译者,欢迎积极参加。
TensorFlow 在 中定义了一套 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 supportOS="linux" # Change to "darwin" for Mac OSTARGET_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#include int main() { printf("Hello from TensorFlow C library version %s\n", TF_Version()); return 0;}复制代码
编译和运行
调用以下命令来编译 hello_tf.c
gcc hello_tf.c
运行生成的可执行文件应该输出以下消息:
a.outHello 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
这些环境变量?
如果你仍然会有编译或者运行的错误信息, 请到 寻找或者请求可能的解决方案.
是一个翻译优质互联网技术文章的社区,文章来源为 上的英文分享文章。内容覆盖 、、、、、、、等领域,想要查看更多优质译文请持续关注 、、。