在ModelArts Notebook中连接DLI Spark集群并进行机器学习建模
933
2022-05-29
入口
现有的 ModelArts CodeLab 对 MindSpore 1.5 还不太友好,我们可以通过 MindSpore 官方文档中的 Run ModelArts 来运行一个 MindSpore 环境的 CodeLab。
成功打开 CodeLab 之后,我们需要留意一下当前环境是否为 GPU 环境,如果不是,我们可以一键切换, 如下图:
当然也不一定每次都这么顺利,也许您会遇到切换换失败的情况,这是因为免费的资源是有限制的,所以是贫穷限制了我学习的动力~
升级
执行pip install之后,我们发现当前默认的 MindSpore 版本是 1.2 ,并非支持科学计算工具包的 1.5 ,如下图:
接着,我们要升级到新版本的 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
执行
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
如上图中,首先我执行 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;
over,后面的就是踩坑经历了,不过目前在 ModelArts CodeLab 中不建议使用源码安装 MindElec,主要是还没有安装成功。虽然源码编译打包没问题,能够正常出包,但安装时就提示无法支持当前平台,而且一看 python 版本名称都变成 c39 了,而我当前的环境是 3.7。具体原因后续再探索。
源码安装
cd MindElec bash build.sh
不过并不太顺利,提示当前环境的 CMake 版本太低,于是我尝试重新安装 CMake。
先去 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
感觉编译配置和编译的过程十分漫长,在等待过程中我也再去翻了翻文档,不知道还会不会出啥幺蛾子,不过感觉大方向是对的。
# 环境变量配置 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
简单体验 MindScience
MindElec 套件提供了物理驱动和数据驱动的 AI 方法,我们分别尝试运行其中的 physics_driven/time_domain_maxwell 和data_driven/parameterization 这两个案例的训练脚本, 记得修改 device_target为 GPU。
python mindscience/MindElec/examples/physics_driven/time_domain_maxwell/train.py
python mindscience/MindElec/examples/data_driven/parameterization/train.py --device_target=GPU --device_num=0
体验暂时告一段落,总的来说 ModelArts 对 MindSpore 新版本的支持越来越好了,想体验最新的 MindSpore,原来有 ModelArts 就行。
AI开发平台ModelArts MindSpore
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。