自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 学习率衰减加冲量优化的梯度下降法Python实现方案

应用场景优化算法经常被使用在各种组合优化问题中。我们可以假定待优化的函数对象\(f(x)\)是一个黑盒,我们可以给这个黑盒输入一些参数\(x_0, x_1, ...\),然后这个黑盒会给我们返回其计算得到的函数值\(f(x_0), f(x_1), ...\)。我们的最终目的是得到这个黑盒函数的最优输入参数\(x_i\),使得\(f(x_i)=min\{f(x)\}\)。那么我们就会想到,通过不...

2021-01-31 09:50:32 262

原创 善用tempfile库创建python进程中的临时文件

技术背景临时文件在python项目中时常会被使用到,其作用在于随机化的创建不重名的文件,路径一般都是放在Linux系统下的/tmp目录。如果项目中并不需要持久化的存储一个文件,就可以采用临时文件的形式进行存储和读取,在使用之后可以自行决定是删除还是保留。tempfile库的使用tempfile一般是python内置的一个函数库,不需要单独安装,这里我们直接介绍一下其常规使用方法:# te...

2021-01-27 22:04:00 248

原创 使用bandit对目标python代码进行安全函数扫描

技术背景在一些对python开源库代码的安全扫描中,我们有可能需要分析库中所使用到的函数是否会对代码的执行环境造成一些非预期的影响。典型的例如python的沙箱逃逸问题,通过一些python的第三方库可以执行系统shell命令,而这就不在python的沙箱防护范围之内了。关于python的沙箱逃逸问题,这里不作展开,这也是困扰业界多年的一个问题,连python官方也提过python的沙箱是没有...

2021-01-27 01:08:00 546

原创 使用fdopen对python进程产生的文件进行权限最小化配置

需求背景用python进行文件的创建和读写操作时,我们很少关注所创建的文件的权限配置。对于一些安全性较高的系统,如果我们创建的文件权限其他用户或者同一用户组里的其他用户有可读权限的话,有可能导致不必要的信息泄漏的风险。因此,除了创建一个更加安全和隐私的个人环境之外(如容器环境等),我们还可以对生成的文件的配置进行权限最小化处理。常用方法及其缺陷分析常用的python文件创建和读写方法,是直...

2021-01-25 15:14:00 451

原创 用tqdm和rich为固定路径和目标的python算法代码实现进度条

适用场景在存在固定长度的算法中可以可视化算法执行的过程,比如对一个固定长度的数组的遍历,就是一种适合使用进度条来进行可视化的场景。而一些条件循环,比如while循环,不一定适合使用进度条来对算法执行过程进行可视化,典型的一个场景就是自洽的优化算法。tqdm进度条的使用方法与效果调用的方法也非常的容易,只需要将我们常用的range函数替换成tqdm中自带的trange即可。# test_t...

2021-01-21 20:07:00 421

原创 使用line_profiler对python代码性能进行评估优化

性能测试的意义在做完一个python项目之后,我们经常要考虑对软件的性能进行优化。那么我们需要一个软件优化的思路,首先我们需要明确软件本身代码以及函数的瓶颈,最理想的情况就是有这样一个工具,能够将一个目标函数的代码每一行的性能都评估出来,这样我们可以针对所有代码中性能最差的那一部分,来进行针对性的优化。开源库line_profiler就做了一个这样的工作,开源地址:github.com/rke...

2021-01-20 19:36:00 227

原创 基于numpy.einsum的张量网络计算

张量与张量网络张量(Tensor)可以理解为广义的矩阵,其主要特点在于将数字化的矩阵用图形化的方式来表示,这就使得我们可以将一个大型的矩阵运算抽象化成一个具有良好性质的张量图。由一个个张量所共同构成的运算网络图,就称为张量网络(Tensor Network)。让我们用几个常用的图来看看张量网络大概长什么样子(下图转载自参考链接1):上面这个图从左到右分别表示:一阶张量、二阶张量以及三阶张量,...

2021-01-18 23:32:00 289

原创 量子绝热算法求解最大切割问题

最大切割问题介绍最大切割问题(Max-Cut),也常作为最小切割问题(Min-Cut)出现,这两个问题可以等价,只需要对权重值取负号即可。给定一个无向加权图\(G(V,E)\),找到一个方案将所有的节点\(\{V\}\)划分为两组\(\{V_1\}\)和\(\{V_2\}\),使得这两组点之间所连接的边的权重之和最大(如果是最小切割问题就是权重和最小)。让我们看一个实际的问题图,该问题中一共包...

2021-01-18 00:25:00 952 1

原创 使用绝热演化/量子退火算法求解矩阵本征态

问题定义定义一个\(N\times N\)大小的矩阵\(H\),找到该矩阵的本征态。已知:若态矢量\(\left|\psi\right>\)为哈密顿矩阵\(H\)的本征矢,则有:\[H\left|\psi(t)\right>=E\left|\psi(t)\right>\]此处\(E\)为哈密顿矩阵\(H\)的本征能量,或称为本征值。绝热演化与量子退火绝热演化过程可以这...

2021-01-16 22:44:00 1053 2

原创 执行py文件需要可执行权限吗?

案例解析这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子:# module1.pydef test(): print ('hello world!')if __name__ == '__main__': test()这是一个名为module1.py的文件,这个文件仅有可读权限:[dechin@dechin-manjaro ...

2021-01-15 18:26:00 190

原创 Python模块化编程与装饰器

Python的模块化编程我们首先以一个例子来介绍模块化编程的应用场景,有这样一个名为requirements.py的python3文件,其中两个函数的作用是分别以不同的顺序来打印一个字符串:# requirements.pydef example1(): a = 'hello world!' print (a) print (a[::-1])def exampl...

2021-01-14 17:31:00 46

原创 在CentOS上安装Singularity高性能容器

什么是singularity容器Singularity是劳伦斯伯克利国家实验室专门为大规模、跨节点HPC和DL工作负载而开发的容器化技术。具备轻量级、快速部署、方便迁移等诸多优势,且支持从Docker镜像格式转换为Singularity镜像格式。除了兼容docker的镜像之外,singularity还有一个不太明显的优势:可以通过非root帐号来拉起容器,这样对于某些安全性要求比较高的场景来说...

2021-01-14 09:59:00 1562

原创 在Linux系统下限制指定目录的大小以及文件/文件夹数量

背景说明在Linux操作系统下有时需要限制一个指定文件夹的大小和文件夹内可存储的文件数量,有可能是出于安全的考量或者定制化的配置,这里我们提供了一种方案:用dd创建一个空的img镜像,进行格式化的配置,然后将其绑定到指定的文件夹上可以限制该文件夹的一些属性。分配空置的img镜像通过dd指令可以分配一个全为0的10M大小的img镜像:[dechin-manjaro limits-test]...

2021-01-11 18:01:00 1401 2

原创 Manjaro Linux 5.9.11-3安装和配置全局截图工具FlameShot教程

背景说明截图工具是日常适用频率较高的一种系统工具,在Linux下也有不少常用截图工具,如deepin-screenshot等,但是今天我们要介绍的是FlameShot——一款更加精致的Linux全局截图工具。工具安装笔者所用的操作系统是Manjaro Linux,这里直接适用pacman -S来执行安装任务:[dechin-manjaro dechin]# pacman -S flam...

2021-01-11 16:16:00 268

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除