Mac在anaconda下安装tensorflow记录2018-06-10

前言

如果直接用anaconda的界面安装,会出现warn(没法CPU加速),网友说pip下载也会遇到这个问题安装tensorflow后验证时出现warning2018-06-09
参考了[1],发现我的Macbook Pro不支持GPU加速(需N卡且满足要求),显卡是Intel Iris Plus Graphics 640。
想用Mac加速的可以参考[2]。
想安装Anaconda配置py2/py3环境参考另一篇文章Mac下sublime配置Anaconda(python2 & python3)环境2018-05-03

安装过程(方法1)

下载官方的tensorflow源码

参考[3]使用git clone的形式,注意:下载速度很慢,100K

(python36) KaideMacBook-Pro:~ tangkaisky$ git clone https://github.com/tensorflow/tensorflow

然后出错

(python36) KaideMacBook-Pro:~ tangkaisky$ git clone https://github.com/tensorflow/tensorflow
Cloning into 'tensorflow'...
remote: Counting objects: 365769, done.
remote: Compressing objects: 100% (7/7), done.
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 50
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

所以参考[4]用export设置环境变量,对应版本查看https://github.com/tensorflow/tensorflow/,查找适合的版本

image.png

我指定了CPU版本

(python36) KaideMacBook-Pro:~ tangkaisky$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.6.0-py3-none-any.whl

安装tensorflow

# pip install
(python36) KaideMacBook-Pro:~ tangkaisky$ pip install --ignore-installed --upgrade $TF_BINARY_URL

测试安装

# python
# coding: utf-8
import tensorflow as tf 
hello = tf.constant('Hello, Tensorflow!')
sess = tf.Session()
print(sess.run(hello))

运行成功,但出现I 信息:意思是tensorflow觉得电脑CPU还行,可以使用速度更快的模式

2018-06-10 19:57:03.579167: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
b'Hello, Tensorflow!'

解决方案

参考[5][6][7]里说的
大概意思是tensorflow默认不进行CPU拓展,像SSE4.1, SSE4.2, AVX, AVX2, FMA。这个地方还有争议,就是即使加上这些拓展速度也慢于GPU,所以中大型机器学习训练应该在GPU上执行。
所以可以直接忽略掉INFO级别信息就好,搞定。

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

可参看另一篇文章安装tensorflow后验证时出现warning2018-06-09

安装过程(方法2)

参考[8][9],只完成安装bazel,未全部完成。
这个方法可以解决上述警告,开启所有CPU拓展,但应该可行~

安装bazel

注:我先激活了python36的环境才进行以下操作,但安装bazel是不需要进入激活环境的。

(base) KaideMacBook-Pro:~ tangkaisky$ source activate python36
(python36) KaideMacBook-Pro:~ tangkaisky$ brew install bazel

报错:因为需要依赖Java 1.8

bazel: Java 1.8 is required to install this formula.
JavaRequirement unsatisfied!
You can install with Homebrew-Cask:
 brew cask install homebrew/cask-versions/java8
You can download from:
 https://www.oracle.com/technetwork/java/javase/downloads/index.html

安装java8

(python36) KaideMacBook-Pro:~ tangkaisky$ brew cask install homebrew/cask-versions/java8

再次安装bazel

(python36) KaideMacBook-Pro:~ tangkaisky$ brew install bazel

参考

[1]osx苹果电脑安装TensorFlow(GPU)
[2]在我的Macbook Pro上安装能使用GPU加速的Theano
[3]Mac下使用源码编译安装TensorFlow CPU版本
[4]Mac上Anaconda+Tensorflow安装
[5]https://blog.csdn.net/CliuGeek/article/details/78836598
[6]安装Python3.5和Tensorflow中遇到的问题 - CSDN博客
[7]https://github.com/tensorflow/tensorflow/issues/8037
[8]TensorFlow CPU环境 SSE/AVX/FMA 指令集编译
[9]https://www.tensorflow.org/install/install_sources

你可能感兴趣的:(Mac在anaconda下安装tensorflow记录2018-06-10)