计算化学公社
标题: 使用PyInstaller打包深度学习模型“AIGenMols”的例子 [打印本页]
作者Author: MolAICal 时间: 2020-8-12 21:29
标题: 使用PyInstaller打包深度学习模型“AIGenMols”的例子
本帖最后由 MolAICal 于 2020-9-2 22:32 编辑
使用PyInstaller打包深度学习模型“AIGenMols”的例子
1. 介绍
药物的深度学习模型在使用的时候是以代码的形式调用,如果能将其打包成二进制可执行文件,将有利于深度学习模型的部署使用和推广,在本教程中,选择了ORGAN (
https://github.com/gablg1/ORGAN) 来打包二进制可执行程序“AIGenMols”。 此外,您可以根据本教程打包自己训练的深度学习模型。
2. 材料
2.1. 所需软件
Anaconda的版本选择应基于Python3.x而不是Python 2.x
2.2. 示例文件
1) 所有必需的教程文件均可从以下网址下载:
3. 步骤
确保完全安装并且正确设置了环境变量。
3.2. 下载“spec-list.txt”并创建一个独立的环境
- #> conda create --name AIGen --file spec-list.txt
- #> conda activate AIGen
复制代码- #> conda install -c conda-forge xxxx
复制代码
3.3. 安装必需的库
- #> conda install -c conda-forge openblas
- #> conda install -c conda-forge openssl
- #> pip install editdistance==0.3.1
复制代码
3.4. 最后,生成二进制“深度学习模型”
解压缩“ organ.zip”
- #> unzip organ.zip
- #> cd organ
- #> pyinstaller --add-data="organ/NP_score.pkl.gz:organ" --add-data="organ/SA_score.pkl.gz:organ" --add-data="organ/data/FDA-H.csv:organ/data" --add-data="organ/checkpoints/FDA-H/FDA-H_99.ckpt.data-00000-of-00001:organ/checkpoints/FDA-H" --add-data="organ/checkpoints/FDA-H/FDA-H_99.ckpt.index:organ/checkpoints/FDA-H" --add-data="organ/checkpoints/FDA-H/FDA-H_99.ckpt.meta:organ/checkpoints/FDA-H" --add-data="organ/data/FDA1884.csv:organ/data" --add-data="organ/checkpoints/FDA1884/FDA1884_119.ckpt.data-00000-of-00001:organ/checkpoints/FDA1884" --add-data="organ/checkpoints/FDA1884/FDA1884_119.ckpt.index:organ/checkpoints/FDA1884" --add-data="organ/checkpoints/FDA1884/FDA1884_119.ckpt.meta:organ/checkpoints/FDA1884" --add-data="organ/data/zinc.csv:organ/data" --add-data="organ/checkpoints/ZINC/ZINC_99.ckpt.data-00000-of-00001:organ/checkpoints/ZINC" --add-data="organ/checkpoints/ZINC/ZINC_99.ckpt.index:organ/checkpoints/ZINC" --add-data="organ/checkpoints/ZINC/ZINC_99.ckpt.meta:organ/checkpoints/ZINC" -F main.py
复制代码
打开文件夹 “organ/dist”
#> cd dist
您将看到名为“ main”的文件,将其重命名为“ AIGenMols”
- #> mv main AIGenMols
- #> chmod +x AIGenMols
复制代码
此时完全生成了名为“AIGenMols”的二进制深度学习模型。将其直接复制或移动到MolAICal软件文件夹中即可。
安装过程分析:
- --add-data="organ/data/zinc.csv:organ/data" --add-data="organ/checkpoints/ZINC/ZINC_99.ckpt.data-00000-of-00001:organ/checkpoints/ZINC" --add-data="organ/checkpoints/ZINC/ZINC_99.ckpt.index:organ/checkpoints/ZINC" --add-data="organ/checkpoints/ZINC/ZINC_99.ckpt.meta:organ/checkpoints/ZINC" -F main.py
复制代码以上部分是打包关键的部分,您可以使用自己训练好的深度学习模型替换以上数据
注意:
1). 安装Anaconda时,Anaconda的安装路径应确保没有空格。例如: /home/test install/anaconda。字符“test”和“install”之间的空格可能会导致“AIGenMols”打包过程失败。
2). “AIGenMols”的命令用法应如下所示,才能保证打包的模型可以直接被MolAICal调用:
- AIGenMols -f test.txt -s FDAFrag -n 100
- AIGenMols -f test.txt -s ZINCMol -n 100
- -f: 表示生成包含SMILES格式分子的文件名。
- -s: 代表选择的深度学习模型名称,如:ZINCMol代表使用ZINC数据库的分子训练出的深度药物生长模型
- -n: 代表产生的分子数
复制代码
这只是打包“AIGenMols”的一个示例。您可以对自己训练的模型使用类似的打包方法。
| 欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |