会员
周边
新闻
博问
闪存
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Dechin的博客
研究兴趣: 分子动力学模拟、量子计算与量子算法、Python编程与深度学习
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
11
12
13
14
15
16
17
18
19
20
下一页
2021年8月24日
超过Numpy的速度有多难?试试Numba的GPU加速
摘要: Numpy这个库在Python编程中非常的常用,不仅在性能上补足了Python语言的一些固有缺陷,还具有无与伦比的强大生态。但是即使都是使用Python,Numpy也未必就达到了性能的巅峰,对于我们自己日常中使用到的一些计算的场景,针对性的使用CUDA的功能来进行GPU的优化,是可以达到比Numpy更高的性能的。
阅读全文
posted @ 2021-08-24 17:40 DECHIN
阅读(3711)
评论(2)
推荐(0)
2021年8月23日
使用autopep8自动规范化python3代码
摘要: 本文主要通过介绍两个python中常用的编码规范格式化工具:autopep8和black来讲解python编程中一些快速处理编程规范问题的方法,同时也说明了这些软件的局限性。编程规范也是人为制定的,事实上在实际项目中,也不是所有的编程规范都需要满足,这就需要项目的组织者或者领导者有自己的基本判断。结合代码规范检查工具flake8以及文章中介绍的这些代码规范格式化工具,最重要的还是要配合以人的判断和调整,才能使得项目具有更好的可读性、可维护性以及更友善的生态。
阅读全文
posted @ 2021-08-23 16:04 DECHIN
阅读(1415)
评论(0)
推荐(0)
2021年8月18日
Python3实现Two-Pass算法检测区域连通性
摘要: 在本文中我们主要介绍了利用Two-Pass的算法来检测区域连通性,并给出了Python3的代码实现,当然在实现的过程中因为没有使用到Union这样的数据结构,仅仅用了字典来存储标签之间的关系,因此效率和代码可读性都会低一些,单纯作为用例的演示和小规模区域划分的计算是足够用了。在该代码实现方案中,还有一点与原始算法不一致的是,本实现方案中打新的标签是读取上、上左和左三个方向的格点,但是存储标签的映射关系时,是读取了上、上左、上右和左这四个方向的格点。
阅读全文
posted @ 2021-08-18 15:48 DECHIN
阅读(1537)
评论(0)
推荐(0)
2021年7月23日
PyVista:一款Python的三维可视化软件
摘要: 本文通过对pyvista这一相对“冷门”的python三维可视化工具的摸索,总结了安装与基本的使用示例,包括单模块、多模块、静态图、动态画板、gif和mp4视频的导出等。总体来说pyvista是一款渲染效果很棒的可视化软件,但是性能相对来说没有那么可观,对于规模不大的体系还是一个非常好用的工具,推荐使用。
阅读全文
posted @ 2021-07-23 17:52 DECHIN
阅读(14907)
评论(0)
推荐(1)
2021年7月14日
MindInsight:一款基于MindSpore框架的训练可视化插件
摘要: 可视化可以说在所有的研究领域中都是要仔细斟酌的问题,一个好的可视化工具不仅可以为工作的开展带来极大的便捷,在一些特殊的场景下还可以辅助人们进行一些重要的决策。比如在物理学领域中,最开始寻找相变点的技巧其实也是依赖于实验数据的可视化来实现的。而在深度学习领域,可视化模型、可视化训练过程、可视化参数以及可视化的总结,可以让我们迅速的得到模型好坏的结论,这一点我们在本文中通过研究MindInsight的一些安装与使用技巧来进行实现。
阅读全文
posted @ 2021-07-14 09:19 DECHIN
阅读(1420)
评论(0)
推荐(0)
2021年7月12日
增强采样软件PLUMED的安装与使用
摘要: 本文作为一个入门级的文章,主要介绍了分子动力学模拟中增强采样的基本概念与相应工具的安装和使用。PLUMED是业界比较出名的一款增强采样开源软件,能够对接多个分子动力学模拟软件,如GROMACS等,并利用这些软件生成的路径信息来进行采样。并且为了可以在python上也能看到路径信息等重要数据,可以考虑使用mdconvert将路径数据转化成python上常用的hdf5格式并用h5py进行读写。
阅读全文
posted @ 2021-07-12 14:32 DECHIN
阅读(7142)
评论(0)
推荐(0)
2021年6月29日
分子动力学模拟之周期性边界处理
摘要: 本文从分子动力学模拟中的周期性边界处理角度出发,介绍了无符号整数和带符号整数的一些应用的技巧,使用这些格式转换的技术有可能在程序的性能优化中带来一定的效果。同时为了更加直观的展示分子模拟的效果,我们用animation展示了一个简单的动态图绘制的案例,其中还包含了多个子图的绘图技术。
阅读全文
posted @ 2021-06-29 17:37 DECHIN
阅读(1585)
评论(0)
推荐(0)
2021年6月22日
MindSpore自定义模型损失函数
摘要: 在不同的训练场景中,我们时常需要使用不同的损失函数来衡量一个模型的计算结果的优劣,本文重点介绍了在MindSpore中如何去自定义一个损失函数。基于MindSpore中的Loss类,我们可以通过继承该类后,再重写construct函数和get_loss函数来实现全面自定义的损失函数形式与内容。
阅读全文
posted @ 2021-06-22 11:13 DECHIN
阅读(1108)
评论(0)
推荐(0)
2021年6月15日
从零开始制作PyTorch的Singularity容器镜像
摘要: 这篇文章主要介绍Facebook所主导的机器学习框架PyTorch的容器化安装方法,基于HPC环境常用的Singularity高性能容器,并且兼容与结合了Docker容器镜像的生态,非常的友好。在容器化的编程环境中,我们不仅可以避免不同框架对于python库或者系统软件版本的依赖冲突,还可以很大程度上解决因为没有root权限以及网络外访权限的环境下所带来的极大的麻烦,故推荐使用这种方案进行安装和运行。
阅读全文
posted @ 2021-06-15 10:53 DECHIN
阅读(2130)
评论(2)
推荐(0)
2021年6月10日
用华为MindSpore进行分布式训练
摘要: 这篇文章我们主要探讨如何去部署一个基于MindSpore框架的分布式训练环境,在MindSpore环境已经配置好的情况下,我们只需要安装好openmpi和nccl这两个工具就可以实现分布式的训练,在文中我们已经给出了相应的示例。虽然分布式与并行技术的目的是为了提升性能,但不是说对所有的场景都能够起到加速的作用,比如文章中的案例就没有加速的效果。这其实是因为我们的用例场景太简单了,纵观整个训练过程,GPU的使用率不到10%,在这种情况下还要考虑上通信的开销,自然是没有放在同一个卡上去训练来得快。这也给我们一个启发,考虑使用分布式和并行计算的技术时,一定也要先评估好问题本身是否适用于并行化的处理,否则是达不到预期的加速的目的的。
阅读全文
posted @ 2021-06-10 10:54 DECHIN
阅读(1240)
评论(2)
推荐(0)
2021年6月7日
Manjaro Linux安装singularity-container
摘要: 这篇文章主要介绍Singularity容器在Manjaro平台的安装,以及一些常见的使用场景:拉取沙箱制作容器镜像、远程制作容器镜像以及修改容器镜像的方法。总体而言Singularity是一个对非root用户非常友好的容器解决方案,在速度上没有实际测试过,只是在一些场景下可以看到比Docker性能要好一些。而且这个容器还支持非root的安装以及非root的使用方法,当然在基于RH的系统下有一些默认的配置项还是需要用root权限去修改后,才能够用非root的账户使用Singularity容器,最典型的就比如要将`/proc/sys/user/max_user_namespaces`这里面的对应参数配置为非零,否则使用会报错。
阅读全文
posted @ 2021-06-07 15:48 DECHIN
阅读(1424)
评论(0)
推荐(1)
2021年6月1日
用华为MindSpore框架训练数据库类型的数据集
摘要: 本文按照数据流的顺序,分别介绍了:使用sqlite3数据库存储数据、从sqlite3数据库中读取数据、使用从sqlite3数据库中的数据构造MindSpore可识别的训练数据集。对于输入的数据量比较大的场景,我们不太可能将全部的数据都加载到内存中,这就要考虑各种可以快速存储和读取的方案,数据库就是一种比较常见的方案。而sqlite3作为一款非常轻量级的数据库,在大部分的Python3中都是内置的,省去了很多编译安装的繁琐。当然性能表现可能不如其他的数据库,但是在我们这边给定的场景下,表现还是非常优秀的!
阅读全文
posted @ 2021-06-01 17:15 DECHIN
阅读(884)
评论(0)
推荐(0)
2021年5月27日
MindSpore激活函数总结与测试
摘要: 这篇文章主要介绍了Softplus、Sigmoid、Softmax和Tanh这4种激活函数,激活函数在机器学习领域中主要起到的是一个决策性质的作用,在分类器中有重要的应用价值。而除了这4种激活函数之外,MindSpore还实现了Softsign的激活函数,但是目前只能在昇腾平台上使用,其他的除了Softplus只能在GPU和昇腾平台运行之外,都是全平台支持的(CPU、GPU、昇腾)。
阅读全文
posted @ 2021-05-27 15:42 DECHIN
阅读(1010)
评论(0)
推荐(1)
2021年5月24日
python3读取文件指定行的三种方案
摘要: 本文通过4个测试案例分析了在python中读取文件指定行内容的方案,并得到了一些运行耗时的数据。从需求上来说,如果是对于小规模的数据,比如几百行规模的数据,建议使用readline循环遍历来操作,速度也相当不错,或者是linecache中的函数实现也是可以的,甚至可以直接用readlines将整个文本内容加载到内存中。但是对于数据规模比较大的场景,比如超过了千万行的级别,那么使用sed指令的方式对指定行内容进行读取的方式,应该是所有方式中最快速的。
阅读全文
posted @ 2021-05-24 10:16 DECHIN
阅读(6399)
评论(0)
推荐(0)
2021年5月21日
在C++中调用Python
摘要: 本文介绍了一个在C++内部调用Python中封装的函数或者接口的方法,从环境配置到具体示例都有讲解,并且在其中包含有不少的坑点,需要一步一步去踩。不同的编程语言具有不同的优势,Python轮子众多而语法简单,上手容易,但是性能比较首先,C++的最明显优势就是在于其性能的天然优越性。但是我们不需要对哪一种编程语言有所偏倚,都有所掌握,并且能够有所互通,利用好各自的优势,才能够发挥最大的价值。
阅读全文
posted @ 2021-05-21 15:58 DECHIN
阅读(2123)
评论(2)
推荐(0)
上一页
1
···
11
12
13
14
15
16
17
18
19
20
下一页
公告