张小白有一台MacBook Pro老爷机,睡在家里多年,在这个不是很开心的节日突然醒来,让小白鸽着实吓了一跳。它只说了一句:我要升级,我要头孢。
张小白查了一下,就这款机的配置而言,还是可以再抢救一下的。MacOS最新的Big Sur就可以升级的。
于是乎,经过一番折腾,一个崭新的系统就浮现在张小白的眼前:
张小白查了一下配置的显卡Intel Iris,果断断了装GPU相关软件的年头。话说,当年啥也不懂(到现在也是啥也不懂)的小白,为啥会花巨资买一台显卡如此不能的电脑呢?哦,当年好像是在教育商店买的学生机——原来为了占便宜的性格,是一直伴随这小白终身的。。。
MacOS本身自带终端,因为它就是来源于UNIX系统。但是既没有CentOS的yum,也没有Ubuntu的apt,装软件到底用啥呢?度娘告诉我们:用Homebrew。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
经过多次尝试,终于装好了brew。
接着就开始用上brew了。
先用brew装python吧:
brew经过一番操作,貌似安装了Python2.7.15和Python 3.9.
而咱们MindSpore一直都是以Python 3.7.5为荣的,肿末办?只有源码安装了啊。
在ubuntu上源码安装之前,需要用gcc,g++,cmake这些神器,在macOS上有没有呢?
听说装了XCode就会有。
张小白果断去了App Store安装了XCode。
装好后检查了一下:
果然有了。
那下面就参考 张小白教你如何在Ubuntu 18.04上源码安装MindSpore V1.0-云社区-华为云 的内容源码安装Python 3.7.5吧。
下载:
解压:
configure:(注意参数)
。。。
make
好像报错了:
Xcode的gcc检查太严格了。
这可咋办?
继续度娘之:
在Xcode里面,c语言有个编译选项,原来是C99,修改为GNU99不知道行不行。。
修改前:
修改后:
make clean
make
貌似在XCode里面配置的东西并不会在命令行生效啊。。
还是老地方的错。
不过在查找的过程中,听说有个pyenv。可以试一下:
brew install pyenv
装好之后再安装python 3.7.5环境试试:
pyenv install 3.7.5
感觉下载的包都跟张小白下的是一模一样的。。。但是也许它作为机器人,比较会编译环境吧。。。
事实证明,张小白和MacBook Pro,是两个臭皮匠,谁也不比谁傻多少。
但是张小白有度娘神器。。。
CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.7.5 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
怎么样?小苹果,你伏不伏?
简单点,设置下python的路径指向 /Users/zhanghui/.pyenv/versions/3.7.5/bin
好像搞定了Python 3.7.5了。
想尝试一下用ubuntu版本装行不行:
可以料到的是:1.1.1和1.2.0-rc1均告失败:
对呀,官方都没做macOS的适配,张小白你在忙啥呢?
是不是“初心”就是错的?
张小白没辙了,只好跟一脸思(死)想(相)的麦布克说:
要不,退而求其次,给你装个pytorch,或者tensorflow看看?满足你AI的少女心?
先修改一下pip源:~/.pip/pip.conf
pip install torch torchvision
额,头孢,原来你不是孤军奋战。。。
装一下tensorflow:
这是怎么了?
升级下pip。
这次装个tensorflow看看呢?
。。。
回头再装个pytorch:
在将pip版本升级到21之后,居然pytorch 1.8.1和tensorflow2.4.1都搞定了。
验证下pytorch:
验证tensorflow:
...
预估值为31,非常接近了。
好了,差不多了。由于MacOS的gcc不大靠谱。我也不敢说源码安装就一定行。
所以,张小白暂时不试 MacOS上的MindSpore了。
只是有点担心:如果我马上换MacBook的话,MindSpore我该如何学习呢?
(你可以在MacOS上装个Windows。。。)
然后我再在Windows上装个ubuntu虚拟机18.04,是吧?
人家Mac已经出了M1 AI芯片的笔记本电脑了。
华为的大大,咱们抓紧洋超越吧。。
装个wget
装个Bazel:
下载下tensorflow的代码仓:
安装下docker
第一次卡死了,又试了一次,好了。
安装完毕后,在“启动台”找到docker启动:
它会慢慢启动:
如果你有兴趣,还可以看一些docker的使用示例:
安装下virtualenv
安装pyenv-virtualenv
pyenv-virtualenv可以让你用一套python 3.7.5开不同的工作环境,比如一套是pytorch的,一套是tensorflow1的,另一套是tensorflow2的,还有一套是mindspore的(你又在幻想了?)
这玩意儿跟conda差不多。
设置docker镜像源:
Apply & Restart让docker重启。
docker也可以做个python 3.7.5啊。参考张小白的博文:张小白教你在Unbuntu 18.04上docker安装Python3.7.5和MindSpore1.1.1-云社区-华为云
切换到root用户:
再次尝试安装mindspore 1.2.0-rc1
我的天啦。。我居然装成功了!!!
撒花!!!
后记:本文是一年前张小白在Macbook Pro老爷机上尝试安装MindSpore的记录(顺便装了Pytorch和Tensorflow),当时还只能使用Docker进行安装,没想到现在已经可以直接支持pip、conda和源码安装了:
上图中M1的可以选择MacOS-aarch64版本,其他的可以选择MacOS-x86_64版本。
不过我的那台老爷机好久没看到他了。。。
(全文完,谢谢阅读)