TensorFlow 1.0源码编译安装

来源:互联网 发布:淘宝到第三层级 编辑:程序博客网 时间:2024/05/21 17:35

CUDA/cudnn安装

python

TF源码下载

bazel安装

bazel是通过自行在github上下载release的zip源码包然后编译,将生成的二进制文件拷贝到PATH路径上即可。
注意:tensorflow配置时会提示找不到bazel这个命令,而实际上我们已经编译并配置到PATH,需要在/usr/bin/目录中新建一个指向bazel的软连接bazel-real

在安装的cuda 8.0, tensorflow一直编译不通过,提示未配置支持GPU,可是明明是选择了Y,可直接定义一下宏变量通过:
export “TF_NEED_CUDA=1”
另外,还需要指定CUDNN的目录,否则会报错,找不到库
export CUDNN_INSTALL_PATH=/usr/local/cuda/

执行一下步骤:

bazel cleansudo ./configurebazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

从github上clone代码之后,可以通过git checkout切换版本分支。目前是使用:

git checkout r1.0

如何在执行./configure是找不到JAVA_HOME时,而又确实在/etc/profile中添加了JAVA_HOME, 这是因为sudo会重置环境变量,可以通过使用-E参数避免对环境变量进行重置。即

sudo  -E ./configure

pip安装

sudo pip install /tmp/tensorflow_pkg/*.whl

有时候会遇到如下问题

tensorflow-1.2.1-cp27-none-linux_x86_64.whl is not a supported wheel on this platform.

这个并不代表当前编译的方式不对,很可能是因为当前pip的版本与编译tensorflow时指定的python版本不匹配,可以通过指定pip版本来安排该安装包,命令如下:

python2.7 -m pip install *.whl

编译1.2.1时,需要添加

cxx_builtin_include_directory: "/usr/lib/gcc/x86_64-redhat-linux/4.8.3/include"

到以下文件中

third_party/gpus/crosstool/CROSSTOOL_nvcc.tpl

欢迎留言沟通

原创粉丝点击