- 博客(90)
- 资源 (13)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Git版本控制\远程开发\多人协作
Git 是开源与企业协作开发的必备工具,属于一个程序员的必备技能。本篇Blog将带你走进Git的世界,了解版本控制的相关术语,同时你将学会远程创建自己的仓库并进行维护,掌握团队开发中的Git技巧。...
2022-05-07 15:47:54
1196
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Linux后台运行python程序
Linux后台运行python程序实例实例需求:因为远程连接会断开,现在有train.py需要在Ubuntu需要在后台运行,同时需要记录下train.py输出的loss相关的信息。解决方式:使用命令,nohup python -u train.py > test.log 2>&1 &nohup:表示 no hung up, 最后的&表示后台运行2 输出错误信息到提示符窗口1 表示输出信息到提示符窗口, 1前面的&注意添加, 否则还会创建一个名为1的
2022-03-11 14:13:54
2825
原创 APG(Accelerate Proximal Gradient)加速近端梯度算法 和 NAG(Nesterov accelerated gradient)优化器原理 (二)
近期在阅读论文时,用到里面APG-NAG相关优化器的知识,原论文方法采用mxnet去实现的,在这里想迁移到pytorch中。因此手撕一下APG和NAG相关的知识。在之前文章APG(Accelerate Proximal Gradient)加速近端梯度算法 和 NAG(Nesterov accelerated gradient)优化器原理 (一)详细推导了APG,本篇将讲述NAG和APG结合的实现。
2022-10-18 22:40:15
1738
原创 APG(Accelerate Proximal Gradient)加速近端梯度算法 和 NAG(Nesterov accelerated gradient)优化器原理 (一)
近期在阅读Data-Driven Sparse Structure Selection for Deep Neural Networks论文时,用到里面APG-NAG相关优化器的知识,原论文方法采用mxnet去实现的,在这里想迁移到pytorch中。因此手撕一下APG和NAG相关的知识。
2022-10-18 00:25:04
4932
1
原创 Netron 可视化Pytorh模型架构
当训练别人的模型并加入DDP时,发现模型中有部分参数没有被使用而报错。而通过Print输出模型架构又太冗余,且不直观。因此在网上寻找一种可以可视化模型架构的工具,要求该工具可以实现对Pytorch模型的可视化,且该工具处于活跃状态(更新周期短),并且有大量用户使用(Star10k+)。Netron1恰好符合上述需求,更新周期短,最近更新周期 3 Hours前,且issue有回复,star 20k+,完美符合。
2022-09-19 21:29:58
978
原创 从无到有的基于QT软件的DIY桌面番茄钟(上)
番茄工作法是个不错的方法,本想要从淘宝买一个番茄钟,但发现要99块钱,太贵了。尝试自制一个基于Windows的桌面悬浮番茄钟。经过一番搜索,决定采用Qt方式进行DIY。计划用一周的时间进行DIY,并给出具体的实现细节。
2022-09-02 20:23:17
9434
9
原创 Python 快速规范代码
更规范化的代码更加美观且有利于他人阅读。然而对于我们大多数非计算机本出身的同学,对代码的规范性往往不是很care,只要代码能动起来就行。但这是一种不好的习惯,既不利于他人阅读,也影响了自己代码的美观性。因此,学会利用一些工具来规范化自己的代码尤为重要。本篇Blog将介绍一些用于规范Python代码的工具。......
2022-09-01 15:35:43
928
原创 图解连续学习中的蓄水池抽样算法(The Illustrated Reservoir sampling)
近期在看连续学习中有关于Replay Method的文章时,在对数据流的采样中,reservoir sampling方法出现了很多次。本文将对该方法进行梳理,
2022-08-26 20:42:04
1072
原创 A brief Introduction to Continue Learning / Life long Learning
A brief Introduction to Continue Learning / Life long Learning
2022-08-17 20:36:45
1239
原创 Pytorch多GPU条件下DDP集群分布训练实现(简述-从无到有)
近两天在尝试Pytorch环境下多GPU的模型训练,总结一份可以从无到有完整实现的笔记。搞了一晚上加一中午,终于搞成功了。这里对此进行记录,便于以后查阅。
2022-07-27 15:27:24
1886
原创 目标检测经典知识点汇总(二):FPN:Feature Pyramid Networks for Object Detection
Feature Pyramid Networks for Object Detection前言一、Pyramid 图像金字塔及特征金字塔二、Bottom-up pathway、Top-Down pathway and Lateral Connection解释三、FPN+RPN应用总结前言也是比较老的一篇论文,网上已经有很多讨论,且论文讲的很详细,方法也很简单。不再过多赘述,建议参考原论文和一些其它blog。推荐阅读:详解FPN网络深度学习网络 | FPN和fast rcnn及RPN网络是如何结合的
2022-05-28 16:04:10
303
原创 目标检测经典知识点汇总(一):RPN(以Faster RCNN为例)
目标检测经典知识点汇总(一)前言一、Region Proposal Network (RPN)RPN原理讲解RPN在目标检测中的应用(Faster RCNN为例)1. Conv layers2. RPN如何训练RPN?3.ROI pooling4.classifier参考前言有一些非常经典的应用于目标检测的理论知识,虽然之前看论文有看到过,但后面再次碰到又会忘记具体细节,因此值得记录下来。一、Region Proposal Network (RPN)RPN网络在2016年于Faster RCNN文
2022-05-27 20:57:24
4090
原创 在训练过程中跑验证集导致显存out of memory问题。
文章目录前言正文总结前言在训练模型时,笔者想要每训练一个epoch,记录一下val的准确率,但是每当训练完第一个epoch开始准备跑val数据集的时候,就会出现显存double然后溢出的情况(batch_size在验证和训练时设置相同)。此处将复现笔者出现的问题,并给出解决方案。正文原始训练流程:for eopch in epochs: for data,label in train_dataloader: model.train() train(model,data,label)
2022-05-02 21:03:56
3012
原创 python将指定文件夹下指定格式文件名存储到txt内,并读取txt文件。
将指定文件夹下指定格式文件名存储到txt内:train/test文件夹下有一系列jpg图片,应用如下代码:# -*- coding: utf-8 -*-#将文件夹中图像的名字放在一个txt文件中import osdef ListFilesToTxt(dir, file, wildcard, recursion): exts = wildcard.split(" ") files = os.listdir(dir) for name in files: fu
2022-04-10 15:43:49
2128
3
原创 Pytorch有关学习率的使用总结
文章目录有关学习率的调整方式一、学习率的调整模板常见模板1:常见模板2:通用模板:二、自适应调整学习率方式 - ReduceLROnPlateau参考附录:pytorch常见学习率调整函数:有关学习率的调整方式当我们定义好优化器后,有关学习率的调整方式是比较头大的一个问题,除了自己手动定义函数来自定义的调整学习率的方法外,pytorch的optim库也提供了许多便捷的动态学习率的调整方式。torch.optim.lr_scheduler提供了一些基于epoch数的学习率调整方法。torch.opt
2022-03-29 12:04:25
3138
原创 Pytorch 技巧 torch.clamp_ 限定输入矩阵内的值到指定范围内
torch.clamp(input, min, max, out=None) → TensorClamps all elements in input into the range [ min, max ]. Letting min_value and max_value be min and max, respectively, this returns:将input内的值限定在(min,max)区间内。yi=min(max(xi,min_valuei),max_valuei)y_i = \m
2022-03-06 15:31:16
1235
原创 Pytorch profiler with tensorboard.
文章目录前言:你将学到什么?一、准备数据集和模型二、使用profiler来记录执行的事件三、执行profiler四、使用TensorBoard来观察结果并对模型性能做出分析最后:总结前言:你将学到什么?注意:以下所有的内容均来自pytorch官网,建议想了解profiler的同学可以直接上官网查询。这篇教程针对的是PyTorch1.8+以上版本新更新的profiler API,目的是实时记录电脑CPU和GPU的工作情况,以更好的提升模型的性能,解决模型遇到的瓶颈。通过这篇教程,你将学到如何利用Ten
2022-02-27 22:02:27
7684
1
原创 深度学习中有关网络中的参数量(param)计算。附录有浮点计算量(FLOPs)的链接。
文章目录网络中的参数量(param)和浮点计算量(FLOPs)的计算一、网络中的参数量(param)是什么?浮点计算量(FLOPs)是什么?二、如何计算网络中的参数量(param)、浮点计算量(FLOPs)网络中的参数量(param)的计算2.读入数据总结网络中的参数量(param)和浮点计算量(FLOPs)的计算一、网络中的参数量(param)是什么?浮点计算量(FLOPs)是什么?网络中的参数量(param)对应与空间Space概念,及空间复杂度。浮点计算量(FLOPs)对应与时间Time概.
2022-02-27 20:03:49
10821
4
原创 python @staticmethod 怎么用
class A(): def __init__(self,param1,param2): self.name1 = param1 self.name2 = param2 def get_name(self): return self.name1 @staticmethod def print_name(): return 'Yann'观察以上函数,@staticmethod 下的函数就是代表CLASS中未用到__init__中的初始化数据,可以直接调用,不需要初始化。
2022-02-26 16:21:02
749
转载 有关Pytorch训练时Volatile Gpu-Util(GPU利用率)很低,而Memory-ueage(内存占比)很高的情况解释与说明
有关Pytorch训练时GPU利用率很低,而内存占比很高的情况前言有关GPU的Memory-usage的占用(GPU内存占有率)有关Volatile GPU-Utile的利用率(GPU的利用率)直接参考前言模型开始训练时候,常用watch -n 0.1 nvidia-smi来观察GPU的显存占比情况,如下图所示,通常GPU显存占比和GPU利用率都很高,但有的模型训练的时候GPU利用率(Volatile GPU-util)占比在不断的动态变化,从0-100%之间不断浮动循环。如果发生上述这种GPU利用
2022-01-30 13:27:34
22391
1
原创 COCO数据集介绍
COCO数据集详细介绍前言一、什么是COCO数据集?COCO数据集可以应用到的Task:一个简单的数据集实例展示:二、COCO数据集的使用1.引入库2.读入数据附录80个类别前言以下内容均来自COCO官方以及Microsoft COCO: Common Objects in Context一、什么是COCO数据集?COCO数据集是一个可用于图像检测(image detection),语义分割(semantic segmentation)和图像标题生成(image captioning)的大规模数据
2022-01-27 11:36:40
109926
4
原创 Python 代码规范
Code Standard项目中的代码规范。代码理念代码理念和Python之禅一致,如下所示:>>> import thisThe Zen of DeepVAC, by Gemfield1.漂亮胜于一切;2.可读性很重要;3.变量名即注释;4.明了胜于晦涩;5.简洁胜于复杂;6.复杂胜于凌乱;7.扁平胜于嵌套;8.超过三层嵌套应坐立不安;9.尽量复用代码;10.应为没有模块化而寝食难安;11.多行短代码胜于一行长代码;12.不容易实现的想法就不是好想法;
2021-11-24 00:56:55
259
原创 如何规范化的建立一个pytorch项目
一个好的Pytorch项目应包含如下规范:定义PyTorch项目的软件工程规范,包含:训练测试的代码目录/文件规范;配置规范;训练测试的代码目录/文件规范每一个符合deepvac规范的PyTorch模型训练项目,都包含下面这些目录和文件:目录/文件说明是否必须README.md项目的说明、git分支数量及其介绍、原始数据的存放路径说明是train.py模型训练和验证文件,继承DeepvacTrain类的扩展实现是test.py模型测试文件, 继承D
2021-11-24 00:54:13
848
1
原创 Numpy生成行向量,列向量(1024水勋章文)
文章目录前言一、行向量与列向量生成1.行向量2.列向量总结前言就注意一点,下面这句话np.array([1,2,3])print(np.array([1,2,3]).shape)既不是行向量,也不是列向量,你输出它的shape:(3,)。是这么个东西,你可以理解成就是一个维度是三的array。一、行向量与列向量生成1.行向量# 1.产生行向量的方法row_vector1 = np.array([1, 2, 3]).reshape(1, -1) #最常用row_vector2 = n
2021-10-24 21:13:54
1784
1
原创 算法的时间复杂度-总结
文章目录前言一、什么是时间复杂度?一种简单粗暴衡量算法时间复杂度的方法(事后统计)通过预先估算来得到算法复杂度的方法(事前分析)时间复杂度概念[1]二、时间复杂度求解具体步骤常见法则总结前言假定有两个算法,都能实现相同功能(算法均正确),那么如何判断这两个算法孰优孰劣?可通过分析算法的时间复杂度来判断:分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。一、什么是
2021-10-17 21:35:11
2836
原创 信赖域算法-The Dogleg Method(含例题及Python实现)
文章目录前言一、What is The Dogleg Method?信赖域算法原理Dogleg Method 方法信赖域算法流程二、How to use The Dogleg MethodQuestion代码实现总结前言最近在上王晓老师的最优化算法课程。课程偏硬核。记录作业中信赖域算法中狗腿(The Dogleg)方法的实现。一、What is The Dogleg Method?信赖域算法原理把minf(x,y)minf(x,y)minf(x,y)转化为一维求步长sks_ksk问题。其中sk
2021-10-17 19:27:57
8153
2
原创 Python生成器(generator)--yield的使用
文章目录前言一、yield是什么?yield的优点代码示例总结参考文章前言在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。一、yield是什么?可
2021-10-04 16:53:51
770
原创 CONDA管理Python环境基础教学--基于Linux
文章目录前言(Conda是什么,你将用Conda学到什么)Conda是什么、有什么用?利用Conda能做什么?安装 Anaconda使用步骤创建环境激活(进入)环境/退出环境安装\升级\删除依赖包查看当前环境中已安装的包导出\导入环境总结前言(Conda是什么,你将用Conda学到什么)Conda是什么、有什么用?随着Python逐步成为主流的编程语言之一,与Python相关的包及包的版本日益增多。在日常使用时,依据代码对不同包及不同版本的需求不同,解决Python环境问题是一个较为繁琐的过程。因此
2021-09-24 22:50:00
324
原创 数学基础-泰勒定理
文章目录数学基础-拉格朗日中值定理一元泰勒定理扩展到多元的泰勒定理数学基础-拉格朗日中值定理可通过该图理解拉格朗日中值定理一元泰勒定理泰勒公式参考自百度百科:为了方便理解,可以看如下的图扩展到多元的泰勒定理这里上式(2.2)可以理解为ppp是方向的向量,函数fff从xxx到x+px+px+p的变化就是函数fff在某一点的梯度值和方向向量ppp相乘(内积)。该点介于(x,x+tp),t∈(0,1)(x,x+tp),t \in (0,1)(x,x+tp),t∈(0,1)之间。但式(2.3
2021-09-23 23:30:34
931
转载 Python的基础赋值
文章目录Python 赋值时代码在内存中的操作示意图Python 赋值时代码在内存中的操作示意图首先内存会为3创建一个数据单元,再让b指向这个单元;然后b+5得到8,内存又会为这个8创建一个数据单元,再让b指向这个单元**(b指向的内存地址发生了改变!);**可以简单地认为“数据在python中被称为对象(object)”,对象不能被覆盖,也不能被直接销毁(python中有垃圾回收机制来回收不用地对象,比如引用计数机制);代码如下(示例):import numpy as npd= np.o
2021-08-15 18:47:56
105
原创 本地Docker容器下配置jupyter notebook
文章目录前言一、安装Jupyter notebook(已完成可忽略)二、启用jupyter notebook总结前言近期在打深度学习的基础,部分教程系列使用jupyter notebook来敲代码,更为直观。本篇用来总结Docker内jupyter notebook的安装与使用。一、安装Jupyter notebook(已完成可忽略)默认已经到docker环境内,第一步进行Jupyter notebook的安装pip install jupyter notebook#pip3 install
2021-07-23 12:11:56
761
原创 数理知识-求导篇-基础求导知识
数理知识-求导篇-基础求导知识文章目录数理知识-求导篇-基础求导知识前言一、导数的定义二、基本初等函数的导数三、复杂导数的运算可参考前言机器学习及深度学习领域的数理推导总会用到很多求导的理论知识,出现的频率非常高。因此汇总一些求导的知识非常重要。一、导数的定义导数(Derivative),也叫导函数值。又名微商,是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作
2021-07-19 16:08:15
1414
原创 数理知识-矩阵篇-矩阵/向量求导
矩阵求导文章目录矩阵求导前言一、矩阵1.观前提醒可参考前言最近在看机器学习及神经网络等领域相关文章时,总是难以手撕矩阵求导类的公式,因此做个系统的与矩阵求导相关的总结与学习。一、矩阵1.观前提醒本篇中,所有使用的小写未加粗字母均为标量,例如xxx;所有小写加粗字母为(列)向量,例如x;所有大写字母均表示为矩阵,例如X。## 2.读入数据<font color=#999AAA >代码如下(示例):```cdata = pd.read_csv( 'https:
2021-07-19 15:40:25
747
4
医院预约挂号系统.zip
2019-06-09
Verilog电梯设计(FPGA代码)
2019-02-27
数学建模之全球环境统计数据(二)
2019-02-11
数学建模之全球环境统计数据(一)
2019-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人