mac catalina 10.15.1
如果直接“pip3 install tensorflow"的话,很可能出现如下警告:
登录后复制
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX21.
此种警告的原因是pip安装的都是x86编译的,而大多系统都是64位,网上对于此种警告有两种解决方法,一种是在.py加上两行代码屏蔽警告,一种就是找已经编译好的.whl文件然后pip3 install .whl文件就行,
编译好的文件github链接。
但是这毕竟是别人编译的,更新速度不是很快,比如就没有支持最新catalina系统的(20191112),
故笔者参考官网教程从源代码编译,由于一些细节问题官网教程没有详尽解释,故特此说明
对于catalina系统,可能现有的已经编译的安装包不太适用。
注意mac有自带的python2,还有xcode带来的python2和3,强烈建议用brew安装并更改默认python3运行路径为/usr/local/bin/python3(brew安装下的路径)
使用虚拟环境时,省略掉–user参数
登录后复制
pip3 install -U pip six numpy wheel setuptools mock future1.
登录后复制
pip3 install -U keras_applications1.
后面可能出现以下错误
登录后复制
Executing genrule //tensorflow/python/keras/api:keras_python_api_gen_compat_v2 failed1.
所以可以先安装keras
登录后复制
pip3 install keras1.
这是安装参考链接,以下安装最新版的命令,但一般情况可能不需要安装最新版,具体后面会讲
登录后复制
brew tap bazelbuild/tapbrew install bazelbuild/tap/bazel1.2.
查看bazel版本,如果output版本说明安装成功
登录后复制
bazel --version1.
如果已经安装,可以升级
登录后复制
brew upgrade bazelbuild/tap/bazel1.
如果是安装以前的版本,可以参照上述参考链接安装,以下是针对mac的安装步骤
使用git clone,如下
登录后复制
git clone https://github.com/tensorflow/tensorflow.git1.
但是一般下载速度贼慢,网上针对git clone主要两种解决方法,一个是改host文件,一个是走代理外网。笔者只是看了看没试过,笔者是用了外网直接在github上下载的"tensorflow-master.zip"文件,然后解压成"tensorflow-master"文件夹。
如果需要以前的tensorflow版本,那还不如上这个github链接下载.whl直接install。
首先cd到"tensorflow-master"文件夹,如果是git clone,那么直接按照官网上"cd tensorflow"就行。
然后输入命令"./configure"回车,就会弹出结果。
这个时候如果你安装的是bazel最新版,那么他会提示你版本太高去下一个低版本的,这时候回到步骤4中的参考链接下载以前的版本安装就行。
bazel版本对了之后会出现一系列选择,如下图
对于CPU版
登录后复制
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package1.
对于GPU版
登录后复制
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package1.
编译时需要注意的问题(笔者是没注意(狗头),哈哈):
这一步很久,估计两三个小时,耐心等待~~
对于从master编译,即最新版,输入以下命令
登录后复制
./bazel-bin/tensorflow/tools/pip_package/build_pip_package --nightly_flag /tmp/tensorflow_pkg1.
就可以在/tmp/tensorflow_pkg文件夹下看到编译好的.whl文件啦,为了方便也可以更改路径比如在桌面
对于/tmp/tensorflow_pkg文件下的.whl,参考以下命令
登录后复制
pip3 install /tmp/tensorflow_pkg/tensorflow+tab键补全.whl1.
此时就成功安装tensorflow了!
新建.py脚本,复制以下代码:
登录后复制
import tensorflow as tfhello = tf.constant('hello world') # 创建一个常量print(hello)
# 输出print(hello.numpy()) # 输出张量的值print(hello.shape) # 输出维度print(hello.dtype)
# 输出张量类型1.2.3.4.5.6.
就可以开始tensorflow快乐之旅了!
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删