摘要: MindSponge分子动力学模拟——多路径分子模拟(2024.05) 随着硬件算力的发展,以及AI技术的日益增进,我们不仅可以借助深度学习框架来加速分子动力学模拟,以及降低分子模拟开发的门槛。还可以实现高通量模拟,使得用最小的开销并行的运行多个分子模拟成为可能。 阅读全文
posted @ 2024-05-27 20:49 DECHIN 阅读(60) 评论(0) 推荐(0) 编辑
摘要: MindSponge分子动力学模拟——体系控制(2024.05) 本文是一个比较泛的分子体系控制器实现方案,因为MindSponge分子动力学模拟框架基于Python编程语言和MindSpore框架开发,因此在高度定制化的控制器实现上有先天的优势。我们可以在MindSponge中基于力对体系进行控制、基于坐标对体系进行控制,还能基于反应坐标对体系进行控制。 阅读全文
posted @ 2024-05-24 15:42 DECHIN 阅读(75) 评论(1) 推荐(0) 编辑
摘要: Python作图三维等高面 在一维空间下,我们要表示密度时可以给出一个二维的函数y=f(x),画出来是一条二维平面上的曲线。在二维空间下,我们要表示密度可以使用一个三维的函数z=f(x,y),画出来是一个三维空间的曲面。而三维空间下,密度表示是一个四维的函数:q=f(x,y,z),这个密度我们在三维空间已经没有办法用线或者面去表示,只能用体积元的颜色来表示。但是我们可以把这个密度投影到一个三维的等高曲面上,这个曲面就称为等高面。本文介绍了一个python中性能比较好的画等高面的工具:Plotly。 阅读全文
posted @ 2024-05-21 15:22 DECHIN 阅读(258) 评论(0) 推荐(0) 编辑
摘要: Ubuntu系统下的mp4播放器 本文介绍了一款可用在Ubuntu操作系统下播放本地视频(如mp4格式)的软件:VLC,可用使用apt直接安装。 阅读全文
posted @ 2024-05-20 14:39 DECHIN 阅读(58) 评论(0) 推荐(0) 编辑
摘要: MindSpore梯度进阶操作 这篇文章主要介绍了mindspore深度学习框架中基于InsertGradientOf算子的进阶梯度操作。InsertGradientOf算子的功能跟此前介绍过的bprop功能有些类似,也是自定义梯度,但bprop更倾向于计算梯度,而InsertGradientOf算子更倾向于修改梯度,这里介绍了一些比较详细的测试案例。 阅读全文
posted @ 2024-05-16 10:35 DECHIN 阅读(85) 评论(0) 推荐(1) 编辑
摘要: MindSponge分子动力学模拟——自定义控制器(2024.05) 本文介绍了在MindSponge分子动力学模拟框架先实现自定义Controller控制器的方法,通过调控体系中的原子坐标和原子速度等,来控制系综的参量。MindSponge分子模拟框架基于MindSpore深度学习框架开发而成,对于开发者尤其是深度学习开发者来说,非常的友好。 阅读全文
posted @ 2024-05-15 16:17 DECHIN 阅读(95) 评论(0) 推荐(1) 编辑
摘要: 统计力学中的概率论基础(二) 可以理解的是,概率密度函数,一般情况下都是连续的。但是对于采样或者随机试验来说,其实都是离散采样。大数定理通过取一个极限,将概率密度函数跟试验联系了起来。这篇文章主要介绍的是常用的几个概率密度函数的期望值和方差的计算,以及大数定理的基本概念。 阅读全文
posted @ 2024-05-14 18:37 DECHIN 阅读(159) 评论(0) 推荐(2) 编辑
摘要: 统计力学中的概率论基础(一) 本文的主要内容是一些统计力学中的基础的概率论知识,如密度函数、分布函数和贝叶斯定理的一些基本概念,主要作为一个简单的知识内容记录和分享,后续还有更多的同系列文章。 阅读全文
posted @ 2024-05-14 11:27 DECHIN 阅读(211) 评论(0) 推荐(1) 编辑
摘要: MindSpore反向传播配置关键字参数 继上一篇文章从Torch的两个Issue中找到一些类似的问题之后,可以发现深度学习框架对于自定义反向传播函数中的传参还是比较依赖于必备参数,而不是关键字参数,MindSpore深度学习框架也是如此。但是我们可以使用一些临时的解决方案,对此问题进行一定程度上的规避,只要能够自定义的传参顺序传入关键字参数即可。 阅读全文
posted @ 2024-05-09 14:54 DECHIN 阅读(105) 评论(0) 推荐(0) 编辑
摘要: PyTorch的安装与使用 本文介绍了热门AI框架PyTorch的conda安装方案,与简单的自动微分示例。并顺带讲解了一下PyTorch开源Github仓库中的两个Issue内容,分别是自动微分的关键词参数输入问题与自动微分参数数量不匹配时的参数返回问题,并包含了这两个Issue的解决方案。 阅读全文
posted @ 2024-05-08 15:48 DECHIN 阅读(263) 评论(0) 推荐(0) 编辑
摘要: Markdown和Latex中文字上下标的方法 本文介绍了4种方法,可以在Markdown或者是LaTex的语法中实现文字、符号的上下标。公式的上下标大家都很清楚了,这里主要介绍的是文字的上下标,而且要保持使用归正的字体。在这些方法中,既可以使用公式+取消斜体的操作,也可以使用前端的一些上下标标签,还可以直接调用LaTex中的上下标“函数”。 阅读全文
posted @ 2024-05-07 10:34 DECHIN 阅读(215) 评论(0) 推荐(0) 编辑
摘要: Plumed分子模拟后分析 Plumed是一个强大的分子模拟数据处理工具,可以在模拟的过程中逐步分析,也可以保存模拟的轨迹做后分析。本文紧接前面的“增强采样软件PLUMED的安装与使用”文章,还有“直方图与核密度估计”文章。介绍了如何使用Plumed后分析工具,对输出的反应坐标的轨迹进行核密度估计。 阅读全文
posted @ 2024-05-06 10:30 DECHIN 阅读(108) 评论(0) 推荐(3) 编辑
摘要: 手搓自动微分 不同于符号微分、手动微分和差分法,自动微分方法有着使用简单、计算精度较高、性能较好等优势,因此在各大深度学习框架中得到了广泛的应用。虽然每个框架所使用的自动微分的原理不尽相同,但大致都是基于链式法则计算结合图计算的一些优化。如果是自己动手来手搓一个自动微分框架的话,大致就只能实现一下一阶的链式法则的自动微分。 阅读全文
posted @ 2024-04-18 15:59 DECHIN 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 直方图与核密度估计 核密度估计(KDE)方法,相当于用多个波包的组合形式来近似一个真实的概率密度,以获得一个连续可微分的概率密度函数。本文通过一些简单的概率分布的示例,演示了一下KDE的使用方法。其实KDE的思想在很多领域都会以不同的形式出现,是一个比较基础的概率分布近似手段。 阅读全文
posted @ 2024-04-17 17:18 DECHIN 阅读(213) 评论(0) 推荐(0) 编辑
摘要: Tkinter常用功能示例(一) 本文主要介绍一些Python的Tkinter GUI框架的常用功能模块,包含基本窗口的创建、菜单栏、文本框、TreeView、按钮、滚动条、标签的设定等,另外包含了一些面向对象的GUI的简单示例。总的来说,Tkinter加上第三方的ttk,基本的GUI功能是都具备的,可以用来实现一些简单的小项目。对于大的项目来说,用PyQT/QT可能会是一个更加专业的选择。 阅读全文
posted @ 2024-04-16 11:27 DECHIN 阅读(198) 评论(0) 推荐(0) 编辑