幽灵的距离

fcd-torch的Python项目详细描述


Pythorch上的fréchet chemnet距离

Build StatusPyPI version

从原始存储库移植的Fréchet ChemNet Distance的pytorch实现。移植模型产生与原始keras实现相同的输出,可用于可重复的研究。化学净重的pytorch模型减少了10倍,从而加快了装载速度。

其他功能:

  • 如果多次使用同一数据集中的统计数据,则可以预先计算平均值和西格玛,以便进一步使用
  • 支持对GPU的计算和GPU设备号的选择
  • 多线程微笑解析

安装

首先,安装RDKitconda install -yq -c rdkit rdkit,然后从pip(pip install fcd_torch)或直接从源代码安装fcd_torch

git clone https://github.com/insilicomedicine/fcd_torch.git
cd fcd_torch
python setup.py install

用法

导入模块from fcd_torch import FCD。可以直接运行计算或预先计算统计信息,以便在测试集中重用它们(请参见下面的示例)。如果在gpu上运行fcd,gpu内存将仅在计算fcd时分配。

# Example 1:fcd=FCD(device='cuda:0',n_jobs=8)smiles_list1=['COc1cccc(NC(=O)Cc2coc3ccc(OC)cc23)c1','Cc1noc(C)c1CN(C)C(=O)Nc1cc(F)cc(F)c1']smiles_list2=['Oc1ccccc1-c1cccc2cnccc12','Cc1noc(C)c1CN(C)C(=O)Nc1cc(F)cc(F)c1']fcd(smiles_list1,smiles_list2)
# Example 2:fcd=FCD(device='cuda:0',n_jobs=8)smiles_list1=['COc1cccc(NC(=O)Cc2coc3ccc(OC)cc23)c1','Cc1noc(C)c1CN(C)C(=O)Nc1cc(F)cc(F)c1']smiles_list2=['Oc1ccccc1-c1cccc2cnccc12','Cc1noc(C)c1CN(C)C(=O)Nc1cc(F)cc(F)c1']pgen=fcd.precalc(smiles_list2)fcd(smiles_list1,pgen=pgen)

对于构造函数,可以将设备作为device='cpu'传递给CPU,作为device='cuda:n'传递给GPU,其中n是GPU设备号。n_jobs参数指定用于分析smiles的线程数。您还可以改变batch_size参数。fcd的调用参数是fcd(ref=None, gen=None, pref=None, pgen=None),您应该在其中指定ref(smiles list)或pref(预先计算的统计信息),对于genpgen也是如此。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JPA。Eclipselink没有为mySQL提供密码,但它应该提供   我的Servlet和@FormDataParam存在java问题   java将什么作为上下文参数传递到文件I/O方法中?   如果两个值相同,java无法找到其中一个单选按钮   java在变量和方法名中使用下划线   JavaSpringMVC单线程安全?   klazz类的java Arraylist(反射Api)   java如何在数字字符串中查找最频繁的数字?   JavaAPI设计:使数据更易于阅读与强制更多API调用   JavaHadoopMapReduceforGoogleWebGraph   java无法启动gauge API:Runner意外退出   java如何在bluemix上使用ibm工作负载调度器?   拉取一年中某一周特定日期的所有日期   java为什么是我的角节点。js应用程序将图像上传到S3� 邮递员正确上传时的符号?   在不使用任何第三方jar的情况下将文件从本地传输到linux系统(java代码)   java将现有文件夹复制到Eclipse工作区中新创建的项目中   Java中的regex RegExp帮助   当使用“系统”外观时,Java组合框setSelectedItem会出现故障   JavaASM:在类的方法中获取局部变量名和值