張小白帶你體驗昇思1.5的MindScience
唉,其實說起昇思,張小白也是一頭霧水。叫了1年多的MindSpore“頭孢”, 被以“上不得廳堂”為由,強行改為“昇思”。其實Mind是頭腦,Spore是孢子。頭孢這個詞真的信達雅的翻譯,而且,專治各種AI的不服,跟頭孢作為藥物具備廣譜殺菌的超高實用價值,其實也是對應的。
不過領導的話還是不能不聽的,你說叫啥就叫啥吧。張小白寧可偷偷地叫它“曼sir跑",想必大姐大應該不會有什么想法。
既然自稱不喜歡4,跳過了1.4版本直接推出1.5版本,但是請告訴我為啥它自己要叫”昇4“?有深思,還有熟慮嗎?
以上是對1.5版本名字的吐槽,張小白對昇思已經熟慮過了,就到此為止了。
------------------------------華麗的分割線----------------------------------
張小白曾經在微信群里面問大家,1.5版本有啥好體驗的?AI大俠姐夫甲的四弟姐夫丁建議說:要不試試MindScience?
沿著丁大大指引的方向走路一定是沒錯的。
既然張小白曾經用了WSL裝了GPU版本的MindSpore( https://bbs.huaweicloud.com/blogs/293332 ),不如就這樣一路走下去吧。
先看一下現在的環境:
Ubuntu 18.04
Python 3.7.5
CUDA 11.4
從官方文檔上來看,這次MindSpore 1.5的升級不僅可以支持Python 3.7.5,還可以支持Python 3.9.0了。
那就直接裝起來吧:
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0rc1-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
在做別的事情之前,先根據提示升級下pip:
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
根據官方文檔,試驗第一種驗證方式:
python -c "import mindspore;mindspore.run_check()"
再試驗第二種驗證方式:
看來沒啥問題。GPU表現良好,不愧是張小白的3080移動版顯卡。(具體顯卡折騰過程參見:https://bbs.huaweicloud.com/forum/thread-146553-1-1.html?)
這次MindSpore 1.5特意提到,它不想僅僅做一個AI的框架了,它還想具備科學計算的能力。(這充分說明,能做AI的它已經很AI了。。。)所以,物理、化學、電子信息、生物、材料。。。。這些學科中如果需要科學計算的,沒準都能用上MindSpore:
所以,這次專門推出了一個科學計算行業套件,叫做MindScience,( https://mindspore.cn/mindscience?version=/master/ )其實仔細品品,這個Science中文翻譯成“昇思”可能才是對的。(張小白你打住好不好?不好意思。。。嘴欠。。。)
當然,MindScience只是個全集,里面還需要根據行業來YoLo一下,目前典型的分兩類:MindElec——電磁仿真,MindSPONGE——分子模擬。
其實分子模擬在MindSpore 1.2版本好像就出現過吧?https://zhuanlan.zhihu.com/p/375042410
隨著華為跟高校的深度合作,想必這樣的分類也會越來越多。
張小白翻了翻官網具體的案例,分子模擬的案例好像都是基于GPU,電磁仿真的案例好像都是基于Ascend。既然張小白暫時用的是wsl的GPU環境,那么就只能先試試MindScience之MindSPONGE了。先閱讀后干活,這樣可以減少無謂的消耗。。。
https://mindspore.cn/mindscience/docs/zh-CN/master/mindsponge/intro_and_install.html
在本文的一開始,mindspore 1.5.0 GPU版本已經裝好了。所以下面裝MindSPONGE。
根據 https://www.mindspore.cn/news/newschildren?id=734 文檔,
應該下載0.1版本:
打開:https://mindspore.cn/versions 搜索 MindSPONGE:
復制上圖的鏈接進行安裝:
wget https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindScience/any/mindscience_mindsponge_gpu-0.1.0rc1-py3-none-any.whl
pip install ./mindscience_mindsponge_gpu-0.1.0rc1-py3-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
驗證mindscience安裝:
python -c 'import mindsponge'
暫時沒報錯。
然后開始下載AmberTools。事實證明,這次試驗最大的工作量就在這里。
打開:http://ambermd.org/GetAmber.php
打開 http://ambermd.org/InstUbuntu.php
點開 Installation->Ubuntu:
這里告訴了你具體的編譯方法。
那么,我們開干吧。
先下載 AmberTools21的源碼:
解壓:
看看目錄:
先試著configure GPU版本:
./configure --with-python /root/anaconda3/bin/python -cuda gnu
按Y繼續:
好像報錯了,說csh沒有。
那就裝csh吧:
apt-get install csh
重新configure
又報錯,說Python路徑不對,修改為which python的結果:
CUDA_HOME沒設置,那就設置一下:
export CUDA_HOME=/usr/local/cuda
找不到 fortran的so文件。fortran張小白隱約記得是科學計算的語言。。聽說比1972年誕生的C語言還要老。查了一下,果然如此,它是1954年提出,1956年開始正式使用。
不過,看來這條路行不通啊。
張小白又開始了度你千遍也不厭倦的過程:
參考 https://www.cnblogs.com/wq242424/p/14283900.html
恩,應該是前面編譯的姿勢不對。
繼續開干:
./run_make
找不到cmake。。。那就裝cmake:
重來:
。。。
。。。
...
找不到FLEX,參考 https://blog.csdn.net/pas_zoujp/article/details/117351781 ,那就裝FLEX,3080你想要啥張小白都給你。。。
再來:
。。
。。。
很好!按照提示繼續做下去:
make install
source /root/amber20/amber.sh
...
...
。。。
。。。
恩,成功安裝了Amber.
那就開始執行這個tleap工具吧:
tleap:
加載tleap自帶的ff14SB力場
source leaprc.protein.ff14SB
搭建丙氨酸三肽模型
ala = sequence {ALA ALA ALA}
利用tleap加載其自帶的tip3p力場
source leaprc.water.tip3p
利用tleap中的slovatebox溶解丙氨酸三肽鏈, 完成體系構建。10.0代表加入的水距離我們溶解的分子及體系邊界至少在10.0埃以上
solvatebox ala TIP3PBOX 10.0
將建好的體系保存成parm7及rst7文件
saveamberparm ala WATER_ALA.parm7 WATER_ALA_350_cool_290.rst7
手工編輯 in文件:
加載數據:
myload.py
python myload.py
構建模擬流程
mycreate.py
好像不知道怎么玩下去了。
那就到gitee倉庫,下載mindscience的碼云倉庫:
git clone https://gitee.com/mindspore/mindscience.git
切換到 /mindscience/MindSPONGE/examples/polypeptide/scripts 目錄
執行 ./run.sh
其實run.sh的命令內容如下:
只是它都是執行的是data下的內容。
那我們改寫下,用剛才由tleap自己生成的參數:
python ../src/main.py --i /root/NVT_290_10ns.in --amber_parm /root/WATER_ALA.parm7 --c /root/WATER_ALA_350_cool_290.rst7
好像輸出的結果比 run.sh少幾行。
結果貼出來看看:
root@LAPTOP-52ANL5OD:~/mindscience/MindSPONGE/examples/polypeptide/scripts# python ../src/main.py --i /root/NVT_290_10ns.in --amber_parm /root/WATER_ALA.parm7 --c /root/WATER_ALA_350_cool_290.rst7 Mode set to NVT check atom_numbers system size is 36.004769 33.398901 30.222429 skin set to 2.00 Angstram excluded atom numbers 3169 Start reading residue list: amber_parm7 in residue_information End reading residue list bond type numbers 10 angle type numbers 14 dihedral type numbers 20 START INITIALIZING NEIGHBOR LIST: excluded atom numbers 3169 copy lj type to new crd factor is: [2.1383579e+09] long range correction factor is: -746427.7146318428 End initializing long range LJ correction START INITIALIZING LANGEVIN_LIU DYNAMICS: langevin_liu_gamma is 1.0 target temperature is 290.0 K friction coefficient is 1.0 ps^-1 random seed is 1 max velocity is 0.0 END INITIALIZING LANGEVIN_LIU DYNAMICS fftx: 48 ffty: 36 fftz: 32 pme cutoff 10.0 pme tolerance 1e-05 restrain_weight is 100 self.simple_constrain_is_initialized 0 angle type numbers 14 START INITIALIZING Coordinate Molecular Map: END INITIALIZING Coordinate Molecular Map self.mol_map_is_initialized 1 [WARNING] CORE(158,7ff895763740,python):2021-09-30-23:03:04.870.330 [mindspore/core/ir/anf_extends.cc:65] fullname_with_scope] Input 0 of cnode is not a value node, its type is CNode. _steps_ _TEMP_ _TOT_POT_ENE_ _BOND_ENE_ _ANGLE_ENE_ _DIHEDRAL_ENE_ _14LJ_ENE_ _14CF_ENE_ _LJ_ENE_ _CF_PME_ENE_ 1 0.788 -5836.529 48.745 0.891 14.904 9.041 194.479 763.169 -6867.758 Main time(s): 0.5331320762634277 Main time(s) without compiler: 0.0012359619140625 Save .out file successfully! Save .dat file successfully! [WARNING] PIPELINE(158,7ff895763740,python):2021-09-30-23:03:05.181.564 [mindspore/ccsrc/pipeline/jit/init.cc:310] operator()] Start releasing dataset handles... [WARNING] PIPELINE(158,7ff895763740,python):2021-09-30-23:03:05.256.617 [mindspore/ccsrc/pipeline/jit/init.cc:313] operator()] End release dataset handles.
其中記錄了模擬過程中輸出的各類能量, 分別是迭代次數(steps),溫度(TEMP),總能量(TOT_POT_E),鍵長(BOND_ENE),鍵角(ANGLE_ENE),二面角相互作用(DIHEDRAL_ENE),非鍵相互作用,其包含靜電力及Leonard-Jones相互作用。(這段文字全部是照抄的,因為真的看不懂)
反正這就是張小白使用MindSpore 1.5的MindScience和Amber模擬丙氨酸三肽水溶液體系的過程。至于這個溶液是干嘛的,張小白真的一點興趣都沒有,估計不能喝。還是蜜雪冰城適合張小白。
(全文完,謝謝閱讀)
GPU加速云服務器 MindSpore Python Ubuntu 昇騰
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。