mac下编译安装TensorFlow

3,999次阅读
没有评论

共计 2804 个字符,预计需要花费 8 分钟才能阅读完成。

mac下编译安装TensorFlow

前言

如果直接通过pip install tensorflow安装Tensorflow的话,在运行时可能会有这种警告

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

主要是因为你的CPU支持AVX2,SSE等指令集,而pip安装的库没有使用它们。启用这些指令集会提升运算速度,而且每次打印一大坨看着有点烦人,所以这里我们从源码编译安装Tensorflow。

编译&安装

  • 先安装一些依赖
$ brew install bazel swig
  • 克隆代码仓库
$ git clone https://github.com/tensorflow/tensorflow.git
$ cd tensorflow
  • 这里先configure,过程中会问一些编译过程中要用到的参数,比如Python的目录,是否开启OpenCL,CUDA支持,我这里直接全否了。
$ ./configure
Please specify the location of python. [Default is /usr/local/anaconda3/bin/python]:
Found possible Python library paths:
  /usr/local/anaconda3/lib/python3.6/site-packages
Please input the desired Python library path to use.  Default is [/usr/local/anaconda3/lib/python3.6/site-packages]

Using python library path: /usr/local/anaconda3/lib/python3.6/site-packages
Do you wish to build TensorFlow with MKL support? [y/N] n
No MKL support will be enabled for TensorFlow
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]: n
Do you wish to build TensorFlow with Google Cloud Platform support? [y/N] n
No Google Cloud Platform support will be enabled for TensorFlow
Do you wish to build TensorFlow with Hadoop File System support? [y/N] n
No Hadoop File System support will be enabled for TensorFlow
Do you wish to build TensorFlow with the XLA just-in-time compiler (experimental)? [y/N] n
No XLA JIT support will be enabled for TensorFlow
Do you wish to build TensorFlow with VERBS support? [y/N] n
No VERBS support will be enabled for TensorFlow
Do you wish to build TensorFlow with OpenCL support? [y/N] n
No OpenCL support will be enabled for TensorFlow
Do you wish to build TensorFlow with CUDA support? [y/N] n
No CUDA support will be enabled for TensorFlow
INFO: Starting clean (this may take a while). Consider using --async if the clean takes more than several minutes.
Configuration finished
  • 编译步骤,在--copt=-m后面添加你需要的指令集,之前警告有什么你就在这加什么就可以,我这里添加了avx avx2 fma sse4.1 sse4.2。编译过程时间很长,我的4770hq跑了快25min
$ bazel build -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-msse4.1 --copt=-msse4.2 //tensorflow/tools/pip_package:build_pip_package
  • 打包成whl
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
  • 安装这个whl,如果之前安装过Tensorflow的话先卸载,再安装
$ pip uninstall -y tensorflow
$ pip install /tmp/tensorflow_pkg/tensorflow-1.2.1-cp36-cp36m-macosx_10_7_x86_64.whl

完事,这样再调用Session就不会有提示了

运行效果如下

mac下编译安装TensorFlow

转载链接:https://www.jianshu.com/p/9d5806e7c248

正文完
请博主喝杯咖啡吧!
post-qrcode
 
admin
版权声明:本站原创文章,由 admin 2018-03-17发表,共计2804字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码