上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页
摘要: MindSponge分子动力学模拟——定义Collective Variables(2024.02) 随着分子动力学模拟技术的应用推广、AI软件的发展和硬件算力水平的提升,我们可以更快的在分子层面去观察和研究分子体系内的相互作用。但是分子模拟的性能再好,也不一定可以复现一些在自然宏观状态下有可能发生的化学反应或者是物质相变。因此我们需要通过定义一些对反应路径有决定性影响的物理量,然后结合增强采样技术,去更快的复现和推导我们所需要的反应机理。本文主要介绍分子动力学模拟软件MindSponge在这一领域的应用和代码实现。 阅读全文
posted @ 2024-02-19 16:15 DECHIN 阅读(421) 评论(0) 推荐(0)
摘要: 关于分子力场中键能项和角能项的思考 本文介绍了在分子力场中经常有可能被使用到的键长和键角项的谐振势模型,并且分别从自动微分的Python代码实现以及解析形式的矢量化编程形式给出了初步的实现方案。这里提到的矢量化计算的实现方案,虽然从计算的角度来说有大量的冗余,但由于一般情况下,一个分子系统单个原子的成键数量都在4以内(比如C原子的sp3杂化),因此矢量化计算的实现方案也不失为一个很好的参考。 阅读全文
posted @ 2024-02-02 16:15 DECHIN 阅读(574) 评论(0) 推荐(1)
摘要: MindSpore导入CUDA算子 本文介绍了在MindSpore标准格式下进行CUDA算子开发的方法和流程,可以让开发者在现有的AI框架下仍然可以调用基于CUDA实现的高性能的算子。并且,除了常规的数值计算之外,在MindSpore框架下,我们还可以通过实现一个bprop函数,使得我们手写的这个CUDA算子也可以使用MindSpore框架本身自带的自动微分-端到端微分技术。 阅读全文
posted @ 2024-01-31 15:29 DECHIN 阅读(534) 评论(0) 推荐(0)
摘要: Linux命令行从x度网盘下载数据 本文介绍了详细的在Linux机器上使用wget命令行下载某度网盘中共享的加密文件,用这种相对低成本的平台来存放一些大文件,相比于免费的Gitee和Github等大型开源管理平台还是要稳定一些。因为可以直接命令行下载,那么就可以直接把下载脚本写到python开源库的setup文件中,便于实现自动化的安装。 阅读全文
posted @ 2024-01-26 17:49 DECHIN 阅读(2435) 评论(0) 推荐(1)
摘要: Julia编程基础 本文介绍了Julia这一主要面向自然科学的编程语言的基本安装与使用,建议读者最好在熟练使用Python的前提下再阅读本文。如果是对Python的语法非常熟悉的人,应该很容易看懂本文并初步掌握Julia的基本语法和使用逻辑。Julia最吸引人的地方在于他简单如Python的语法,但兼具了C++和Fortran的高性能。但是缺点也非常明显,作为一门新的编程语言,受众又少,没有太多的轮子可以用。反过来想,也很适合用来开发一些新的轮子。 阅读全文
posted @ 2024-01-22 19:10 DECHIN 阅读(546) 评论(1) 推荐(1)
摘要: 无法访问Github仓库的极简治标法 Github访问受限,是国内众多IP所经常面临的问题。这里我经过大量的踩坑之后,还是认为使用Gitee将Github的仓库直接同步过来,作为一个私有的镜像,是最便利高效的方法。当然,这个只能满足日常使用第三方库的需求,治标但不治本,对于那些仅仅只是想使用某些Github仓库代码的童鞋来说,也是完全够用了。 阅读全文
posted @ 2024-01-22 11:13 DECHIN 阅读(347) 评论(0) 推荐(0)
摘要: Numpy计算近邻表时间对比 本文介绍了在Python的numpy框架下计算近邻表的两种不同算法的原理以及复杂度,另有分别对应的两种代码实现。在实际使用中,我们更偏向于第二种算法的使用。因为对于第一种算法来说,哪怕是一个10000个原子的小体系,如果要计算两两间距,也会变成10000*10000这么大的一个张量的运算。可想而知,这样计算的效率肯定是比较低下的。 阅读全文
posted @ 2024-01-09 23:30 DECHIN 阅读(311) 评论(0) 推荐(0)
摘要: Python设置进程名称 更好的管理系统进程,是每一个程序员的进阶必经之路。尤其是使用多进程、多用户的场景,系统内的进程是非常混乱的。如果在运行程序时都能控制好进程名称,那么就可以直接通过进程名称来监管和控制进程的执行和输出。本文介绍了setproctitle这样一个工具的简单使用,可以在python代码内部对进程进行管理。 阅读全文
posted @ 2024-01-02 11:36 DECHIN 阅读(1379) 评论(1) 推荐(2)
摘要: Python代码中的偏函数 本文介绍了在Python中使用偏函数partial的方法,并且介绍了两个使用partial函数的案例,分别是concurrent并行场景和基于jax的自动微分场景。在这些相关的场景下,我们用partial函数更多时候可以使得代码的可读性更好,在性能上其实并没有什么提升。如果不想使用partial函数,类似的功能也可以使用参考链接中所介绍的方法,实现一个装饰器,也可以做到一样的功能。 阅读全文
posted @ 2023-12-21 17:49 DECHIN 阅读(468) 评论(0) 推荐(1)
摘要: Python追踪内存占用 本文介绍了一个工具tracemalloc,可以在Python代码的执行过程中对每一步的内存占用进行记录。 阅读全文
posted @ 2023-12-20 16:19 DECHIN 阅读(1596) 评论(0) 推荐(0)
摘要: Python定位错误:段错误 (核心已转储) 解决Python编程中可能出现的“段错误(核心已转储)”,并没有其他任何提示信息的问题。 阅读全文
posted @ 2023-12-18 10:46 DECHIN 阅读(1497) 评论(0) 推荐(0)
摘要: 双二面角耦合力场项的计算 本文介绍了最新的一些分子力场中有可能使用到的1-5相互作用——双二面角耦合项的计算。而常规的计算方式是,通过量化的计算得到每一个Residue的α碳对应的两个二面角的数值在空间中的离散化数值。然后在分子模拟的过程中使用插值的方案,对相关的条目进行计算,例如使用双三次样条插值。但其实这种插值算法的使用有可能导致一些其他的问题,比如深度学习中可能会经常提到的“过拟合”问题。由于这个条目本身就只是一个修正项,从数值大小上来说并不算大,因此这些细节是否需要优化还有待商榷。 阅读全文
posted @ 2023-12-05 19:34 DECHIN 阅读(381) 评论(1) 推荐(1)
摘要: 使用Amber计算单点能三步走 本文主要介绍了如何使用Amber来计算一个给定分子构象的pdb文件的单点势能值。基本流程可以分为三个步骤:首先从力场文件中去寻找对应于输入构象的力场参数,然后配置一个执行参数文件,最后使用这些保存下来的文件来计算分子单点能。 阅读全文
posted @ 2023-11-30 14:38 DECHIN 阅读(274) 评论(0) 推荐(0)
摘要: Jupyter Notebook报错'500 : Internal Server Error'的解决方法 解决使用Jupyter Notebook打开ipynb文件时报错'500 : Internal Server Error'的问题,亲测可用。 阅读全文
posted @ 2023-11-21 14:46 DECHIN 阅读(1390) 评论(0) 推荐(0)
摘要: MindSpore简要性能分析 当我们需要优化程序性能的时候,首先我们就需要了解程序的主要耗时模块在哪里,也就是通常所谓的决速步,或者瓶颈模块,这样就可以有针对性的去进行优化。在MindSpore相关的程序中,我们可以使用MindInsight这一强力的性能分析可视化工具来进行分析。该工具会给出每个算子的调用次数以及总耗时等参数,能够给性能优化带来不少重要的参考。 阅读全文
posted @ 2023-09-12 16:54 DECHIN 阅读(534) 评论(2) 推荐(1)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页