ModelArts CodeLab 安装 MindSpore 科学计算工具包

胡琦 发表于 2021/11/09 13:32:59 2021/11/09
【摘要】 不花💰 ,就能体验 MindScience

入口

现有的 ModelArts CodeLab 对 MindSpore 1.5 还不太友好,我们可以通过 MindSpore 官方文档中的 Run ModelArts 来运行一个 MindSpore 环境的 CodeLab。

image.png

成功打开 CodeLab 之后,我们需要留意一下当前环境是否为 GPU 环境,如果不是,我们可以一键切换, 如下图:

image.png

当然也不一定每次都这么顺利,也许您会遇到切换换失败的情况,这是因为免费的资源是有限制的,所以是贫穷限制了我学习的动力~

升级

执行pip install之后,我们发现当前默认的 MindSpore 版本是 1.2 ,并非支持科学计算工具包的 1.5 ,如下图:
image.png

接着,我们要升级到新版本的 MindSpore。
MindSpore 官方文档已经给了我们详细升级的指南,此处我是进行重新安装的,如下图:

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

image.png

执行

python -c "import mindspore;mindspore.run_check()"

成功输出了 1.5.0 的版本号,先不管能不能用,至少是有这个版本了。

安装 MindSPONGE

MindSPONGE 是由高毅勤课题组(北京大学、深圳湾实验室)和华为 MindSpore 团队联合开发的分子模拟库,具有高性能、模块化等特性。按照官方文档的指引,我选择从 Gitee clone 源码进行安装:

git clone https://gitee.com/mindspore/mindscience.git
cd mindScience/MindSPONGE
python setup.py install --user

image.png

如上图中,首先我执行 python -c 'import mindsponge' 会报错No module named 'mindsponge',这是因为安装的 MindSpore 并没有内置科学计算工具包,需要我们手动安装,安装完毕之后再次校验就不再报错没有模块了。

当然也可以使用 pip 安装,这里就不表了。

安装 MindElec

目前 MindElec 还没有明确说支持 GPU 环境 ,不过从社区的反馈来看,现在应该是可以再 GPU 环境中使用的。安装 MindELec 有两种方式:

一是通过 pip 安装,一是通过编译源码安装;经过我的踩坑,强烈推荐使用 pip 安装。

pip install

我们可以去到 MindSpore 版本网页–https://mindspore.cn/versions/ 获取对应版本的 MindElec, 如mindscience_mindelec_ascend-0.1.0-cp37-cp37m-linux_x86_64.whl

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindScience/x86_64/mindscience_mindelec_ascend-0.1.0-cp37-cp37m-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

简单验证一下:

# test mindspore
import mindspore;
mindspore.run_check();
# test mindsponge
import mindsponge;
# test mindelec
import mindelec;

day01-1.png

over,后面的就是踩坑经历了,不过目前在 ModelArts CodeLab 中不建议使用源码安装 MindElec,主要是还没有安装成功。虽然源码编译打包没问题,能够正常出包,但安装时就提示无法支持当前平台,而且一看 python 版本名称都变成 c39 了,而我当前的环境是 3.7。具体原因后续再探索。

源码安装

cd MindElec
bash build.sh

不过并不太顺利,提示当前环境的 CMake 版本太低,于是我尝试重新安装 CMake。

image.png

先去 CMake 官网 找到 Linux 版本的 cmake-3.22.0-rc2.tar.gz 下载到本地,然后上传到 Notebook,执行解压、make 等操作,不过值得注意的是 ModelArts Notebook 中没法使用 root 权限,因此无法直接安装 CMake,我们尝试先使用非 root 用户权限进行安装:

tar -zxvf cmake-3.22.0-rc2.tar.gz
cd  cmake-3.22.0-rc2
./bootstrap
# cmake -DCMAKE_INSTALL_PREFIX=/home/ma-user/work
./configure --prefix=/home/ma-user/work
make && make install

image.png

image.png

感觉编译配置和编译的过程十分漫长,在等待过程中我也再去翻了翻文档,不知道还会不会出啥幺蛾子,不过感觉大方向是对的。

# 环境变量配置
export PATH=/home/ma-user/work/bin:$PATH
cmake -version

接着执行build.sh脚本,一切正常的话,我们会看到output目录下会生成相应版本的包,如mindscience_mindelec_gpu-0.1.0rc1-cp39-cp39-linux_x86_64.whl

bash build.sh  -e gpu

image

简单体验 MindScience

MindElec 套件提供了物理驱动和数据驱动的 AI 方法,我们分别尝试运行其中的 physics_driven/time_domain_maxwelldata_driven/parameterization 这两个案例的训练脚本, 记得修改 device_target为 GPU。

python mindscience/MindElec/examples/physics_driven/time_domain_maxwell/train.py

day01-2-time_domain_maxwell-2.png

python mindscience/MindElec/examples/data_driven/parameterization/train.py --device_target=GPU --device_num=0

day01-2-parameterization-2.png

体验暂时告一段落,总的来说 ModelArts 对 MindSpore 新版本的支持越来越好了,想体验最新的 MindSpore,原来有 ModelArts 就行。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。