TensorFlow源码安装
前言
TensorFlow如果能二进制包安装,我真的不想选择自己编译,但是情况不由人,好不容易找到一台服务器,CPU不支持AVX指令集,安装的release版本运行到import tensorflow as tf 就会报指令异常。网上建议源码安装才能解决,于是无奈,想着应该是非常繁琐的事情,但事实上除了耗时外,其他都还好,这里记录一下,以备后用。
编译安装过程
安装版本构建工具 bazel
bazel是google的版本构建工具,网上褒贬不一,直接下载安装包进行安装:
wget https://github.com/bazelbuild/bazel/releases/download/0.13.0/bazel-0.13.0-installer-linux-x86_64.sh<br />chmod +x ./bazel-0.13.0-installer-linux-x86_64.sh <br />./bazel-0.13.0-installer-linux-x86_64.sh
这个步骤没有碰到问题。
安装工具包
sudo apt install python-numpy swig python-dev python-wheel
numpy是python的科学计算库,swig是C库外部语言封装调用接口库,后面几个应该与python包管理相关,不细究。
下载TensorFlow源码
使用git来克隆TensorFlow代码仓库:
git clone --recurse-submodules https://github.com/tensorflow/tensorflow
比较耗时的操作,文件比较多。
配置TensorFlow
进入tensorflow目录,然后执行./configure,开始配置,除了jemalloc选项外,我都选了N
编译TensorFlow
执行以下命令,启动编译,过程非常慢,要耐心等待:
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
创建PIP安装包
完成编译后,将tensowflow制作成pip安装包:
bazel-bin/tensorflow/tools/pip_package/build_pip_package ~/
安装TensorFlow包
最后,通过pip命令来安装前一步生成的安装包,如果没有先安装python-pip:
pip install ~/tensorflow-1.8.0-cp27-cp27mu-linux_x86_64.whl
增加编译选型以支持额外CPU指令
自己编译的版本可以正常使用,但运行时出现了如下的命令行提示:
原来这款CPU虽然不支持AVX,但是支持SSE,于是决定重新编译,在编译时增加了额外的编译选项,如下:
build -c opt --copt=-msse4.1 --copt=-msse4.2 //tensorflow/tools/pip_package:build_pip_package
重新打包,安装。
暂时结束
至此,整个源码安装TensorFlow过程全部结束,暂无发现问题,待后续有问题时再补充。
相关推荐
瓜牛呱呱 2020-11-12
柳木木的IT 2020-11-04
yifouhu 2020-11-02
lei0 2020-11-02
源码zanqunet 2020-10-28
源码zanqunet 2020-10-26
一叶梧桐 2020-10-14
码代码的陈同学 2020-10-14
lukezhong 2020-10-14
lzzyok 2020-10-10
anchongnanzi 2020-09-21
clh0 2020-09-18
changcongying 2020-09-17
星辰大海的路上 2020-09-13
abfdada 2020-08-26
mzy000 2020-08-24
shenlanse 2020-08-18
zhujiangtaotaise 2020-08-18
xiemanR 2020-08-17