首页
学习
活动
专区
工具
TVP
发布

Dechin的专栏

专栏成员
196
文章
218323
阅读量
24
订阅数
Cython编译报错“numpy/arrayobject.h: No such file or directory”解决方案
Cython是用来加速Python程序性能的一个工具,其基本使用逻辑就是将类Python代码(*.pyx扩展格式)编译成
DechinPhy
2024-06-27
870
Win11系统下的MindSpore环境搭建
笔者尝试过不少编程环境搭建的方案,例如常见的Ubuntu、Deepin、CentOS,也用过很多人力荐的Manjaro,这些发行版在需要办公的条件下,一般都需要结合Windows双系统使用。MacOS更适用于本地环境搭建,但是能兼容的显卡型号还是比较有限的。经过一些测试,其实我认为Win11+WSL2+Docker会是一个比较不错的解决方案(本来打算也试试虚拟机,但是听朋友说虚拟机调CUDA有坑,因此暂时不做考虑)。虽然直接用WSL2也可以搭建一个本地的编程环境,但是这样的环境具有一些不稳定因素,以及不可迁移的性质,因此我个人认为还是WSL2+Docker的方案稳定性会更高一些。
DechinPhy
2024-06-10
1140
MindSponge分子动力学模拟——多路径分子模拟(2024.05)
在前面的MindSponge教程系列博客中,我们已经介绍过MindSponge分子动力学模拟框架的基础功能使用方法,例如MindSponge的安装与使用、定义分子系统、计算单点能和迭代器等等。这些模块和功能,更多的是凭借MindSpore深度学习框架的自动微分、GPU加速和Python语言的灵活性,而本文要介绍的是深度学习框架可以带来的另一个重大优势:多路径的高通量分子模拟。
DechinPhy
2024-05-28
900
MindSponge分子动力学模拟——体系控制(2024.05)
在传统的分子动力学模拟软件中,对于分子体系的控制,例如控制体系的相对位置亦或是绝对位置,通常都是通过施加一些约束算法来实现的。例如用于限制化学键的LINCS算法,又比如水分子体系非常常用的SETTLE约束算法,这两种算法都属于Constraint(硬约束)。除此之外还有很多Restraint(软约束),例如施加谐振势等等,在MindSponge中有相关的实现:sponge.potential.OscillatorBias。
DechinPhy
2024-05-26
500
Python作图三维等高面
对于等高线,大家都是比较熟悉的,因为日常生活中遇到的山体和水面,都可以用一系列的等高线描绘出来。而等高面,顾名思义,就是在三维空间“高度一致”的曲面。当然了,在二维平面上我们所谓的“高度”实际上就是第三个维度的值,但是三维曲面所谓的“高度”,实际上我们可以理解为密度。“高度”越高,“密度”越大。
DechinPhy
2024-05-22
630
Ubuntu系统下的mp4播放器
这里推荐一个Ubuntu 20.04下可用的本地视频播放器,VLC。可用直接打开本地视频,速度也不错,可用使用apt安装。一般顺序是先安装媒体加码器:
DechinPhy
2024-05-21
1470
MindSpore梯度进阶操作
在MindSpore深度学习框架中,我们可以使用mindspore.grad对函数式编程的函数直接计算自动微分,也可以使用mindspore.ops.GradOperation求解Cell类的梯度dout。本文所介绍的mindspore.ops.InsertGradientOf是一个对dout进一步进行处理的算子,类似于在Cell类中自定义一个bprop函数,不改变前向传播输出的结果,只改变反向传播的结果。
DechinPhy
2024-05-17
1160
MindSponge分子动力学模拟——自定义控制器(2024.05)
分子动力学模拟中的控制器(Controller)可以被用于修改模拟过程中的原子坐标和原子速度等参量,从而达到控制系统特定参量的目的。例如控温器可以用于实现NVT系综,控压器可用于实现NPT系综。而在MindSponge分子动力学模拟框架下,控温控压都可以基于控制器Controller来实现。关于更多的MindSponge分子动力学模拟框架的信息,如安装和基本使用等,可以阅读MindSponge专栏里面的文章。
DechinPhy
2024-05-16
940
统计力学中的概率论基础(一)
统计力学是一门通过粒子的纯粹微观量来表示系统宏观量的学科,从统计分布出发,用无偏/有偏估计来研究各种不同的系综。本文内容部分参考自郑伟谋老师所著《统计力学导引》,主要介绍其中概率论基础的部分。但因为大多是个人的理解,如有差错,与参考文献作者无关。
DechinPhy
2024-05-15
970
统计力学中的概率论基础(二)
接上一篇文章,我们继续记录统计力学中的一些基础的概率论知识。这一篇文章主要介绍的是一些常用的概率密度函数的对应参数计算,如期望值、方差等。
DechinPhy
2024-05-15
1200
MindSpore反向传播配置关键字参数
在MindSpore深度学习框架中,我们可以向construct函数传输必备参数或者关键字参数,这跟普通的Python函数没有什么区别。但是对于MindSpore中的自定义反向传播bprop函数,因为标准化格式决定了最后的两位函数输入必须是必备参数out和dout用于接收函数值和导数值。那么对于一个自定义的反向传播函数而言,我们有可能要传入多个参数。例如这样的一个案例:
DechinPhy
2024-05-10
1040
PyTorch的安装与使用
PyTorch是一个非常常用的AI框架,主要归功于其简单易用的特点,深受广大科研人员的喜爱。在前面的一篇文章中我们介绍过制作PyTorch的Singularity镜像的方法,这里我们单独抽出PyTorch的安装和使用,再简单的聊一聊。
DechinPhy
2024-05-09
2280
Markdown和Latex中文字上下标的方法
在Markdown和Latex中,如果只是写公式,不论是行内公式还是行间公式,都可以直接使用^和_这两个符号实现上下标。但有个问题是,如果只是使用公式来做上下标,出来的字体是斜着的。例如这样的语法:
DechinPhy
2024-05-08
5890
Plumed分子模拟后分析
在前面的几篇博客中,我们分别介绍过Histogram算法的使用、Plumed安装与简单使用。Plumed一般就是两种用法:要么在运行分子动力学模拟的过程中实时的对接,要么就是把分子模拟的相关轨迹保存下来,然后再使用Plumed进行后分析,本文介绍的是后面这种使用方法。
DechinPhy
2024-05-07
640
手搓自动微分
自动微分技术,在各大深度学习框架里面得到了广泛的应用。但是其实究其原理,就是一个简单的链式法则。要实现一个自动微分框架是非常容易的事情,难的是高阶的自动微分和端到端的自动微分。这篇文章主要介绍一阶自动微分的基础Python实现,以及一些简单的测试案例。
DechinPhy
2024-04-19
1530
直方图与核密度估计
直方图是一种经常被用于统计的图形表达形式,简单来说它的功能就是用一系列的样本数据,去分析样本的分布规律。而直方图跟核密度估计(Kernel Density Estimation,KDE)方法的主要差别在于,直方图得到的是一个离散化的统计分布,而KDE方法得到的是一个连续的概率分布函数。如果将得到的分布重新用于采样,两者都可以结合蒙特卡洛方法实现这样的功能,但是KDE的优点在于它得到的结果是可微分的,那么就可以应用于有偏估计的分子动力学模拟中,如元动力学(Meta Dynamics)方法。这里主要用Python实现一个简单的KDE函数的功能,也顺带介绍一下Numpy和Matplotlib中关于直方图的使用方法。
DechinPhy
2024-04-18
1550
Tkinter常用功能示例(一)
Tkinter是一个Python自带的GUI框架,虽然现在主流的还是用pyqt的多一些,但是Tkinter在环境配置上可以节省很多工作,可以用来做一些小项目。如果是大型项目,用pyqt或者QT确实会更加专业一些。本文主要介绍一些简单的Tkinter的示例,比如文本框定义、标签定义和TreeView定义等。
DechinPhy
2024-04-17
1230
MindSpore运行报错RuntimeError: Unsupported device target GPU解决方案
在运行MindSpore程序时,设置device_target为GPU,结果运行时报错:
DechinPhy
2024-04-16
3101
MindSpore编译构建后Vmap模块的RuntimeError问题
这篇文章来源于MindSpore仓库中的一个Issue,简单描述问题就是,如果你用MindSpore开发了一个python软件供别人使用,那么很有可能涉及到编译构建的问题。但是如果直接使用编译好的whl包去运行的话,就有可能出现一个跟Jit即时编译有关的报错,这里Jit在其他的一些模块中也会被使用到,比如Vmap函数和Grad函数等。
DechinPhy
2024-04-12
740
单精度浮点数误差与消除方法
一个比较容易理解的概念,我们在做计算的过程中,很多时候都要做截断。不同精度的混合计算之间也会有截断,就比如一个float32单精度浮点数,符号占1位,指数占8位,尾数占23位。而一个float64双精度浮点数,符号占1位,指数占11位,尾数占52位。通常情况下,float32的有效数字约7位(按照
DechinPhy
2024-04-11
3480
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档