公司服务器上从源码编译MKL集成的tensorflow

网上相应的记录很多,但因为是在公司服务器上进行,需要注意代理的配置,而且是在docker中进行的,因此这里写一下算是工作记录了。

需要提前注意的事项:

  • bazel与tf版本之间的适配性

可以是 tensorflow/configure.py 中指定的介于 _TF_MIN_BAZEL_VERSION 和
_TF_MAX_BAZEL_VERSION 之间的任意版本。(https://tensorflow.google.cn/install/source)

所以需要提前了解自己要编译的tf版本,找到对应的branch,然后查看他的bazel版本。
我需要编译的是tf r1.15,对应的bazel版本信息为:

_TF_MIN_BAZEL_VERSION = ‘0.24.1’
_TF_MAX_BAZEL_VERSION = ‘0.26.1’ (https://github.com/tensorflow/tensorflow/blob/r1.15/configure.py)

  • python等执行文件所在的位置
    主要是python和cuda,后面再配置tf的configure文件中需要用到。

过程记录

0、设置代理
后面好几步都涉及到要在网上下载东西,经常报错,这个代理可以每次都设置一下,类似于重启大法好

export http_proxy=公司代理:端口
export https_proxy=公司代理:端口

1、安装及下载bazel

mkdir bazel
export BAZEL_VERSION=0.25.0
cd bazel

curl -x 公司代理:端口 -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36" -fSsL -O https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh

2、安装bazel

chmod +x bazel-*.sh
./bazel-$BAZEL_VERSION-installer-linux-x86_64.sh --user

source /home/powerop/.bazel/bin/bazel-complete.bash
export PATH=$PATH:$HOME/bin

后面两行是将路径放到环境变量里面,一定要加上。

3、git tensorflow

git config --global http.proxy 公司代理:端口
git clone https://github.com/tensorflow/tensorflow

cd tensorflow
git checkout r1.15

4、设置configure
除了cuda和xla是选的y,其他都选的n,不然会找不到要依赖的文件在哪里

5、编译

  • python
bazel build --config=opt --config=cuda --config=mkl //tensorflow/tools/pip_package:build_pip_package

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

编译好的whl文件在/tmp/tensorflow_pkg文件夹下

cd /tmp/tensorflow_pkg
pip3 install tensorflow-1.14.0-cp36-cp36m-linux_x86_64.whl

python版大功告成

  • C++
bazel build --config=mkl --config=opt //tensorflow:libtensorflow_cc.so
  • java
bazel build  --config=mkl --config=opt \
  //tensorflow/java:tensorflow \
  //tensorflow/java:libtensorflow_jni

编译好的libtensorflow.jar在bazel-bin/tensorflow/java下面,后续的替换Java版依赖的tf的jar包是公司同事在做了,如果有机会我再来补上他这一部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值