- 博客(124)
- 资源 (1)
- 收藏
- 关注
原创 Vscode里面配置断点调试
详细教程参考下面连接:https://www.csdn.net/tags/MtTaAgzsNjk3NTY1LWJsb2cO0O0O.html可能存在的问题https://www.icode9.com/content-1-704085.html需要调试的文件名称必须是英文,不能是中文
2022-04-26 21:22:37
909
原创 PyQy5学习(四):QAbstractButton+QRadioButton+QCheckBox
按钮的基类是QAbstractButton,提供了按钮的通用性功能。QAbstractButton 类为抽象类,不能实例化,必须由其他的按钮类继承QAbstractButton类,来实现不同的功能、不同的表现形式。常见的按钮类包括: QPushButton、QToolButton、QRadioButton 和QCheckBox。这些按钮类均继承自QAbstractButton类,根据各自的使用场景通过图形展现出来。QPushButtonQPushButton类继承自QAbstractButto
2022-04-21 21:45:49
604
原创 PyQy5学习(三):QLineEdit+QTextEdit
4.4文本框类控件4.4.1QLineEditQLineEdit类是一个单行文本框控件,可以输入单行字符串。如果需要输入多行字符申,则使用QTextEdit类。定义输入掩码的字符,表4-5中列出了输入掩码的占位符和字面字符,并说明其如何控制数据输入。掩码由掩码字符和分隔符字符串组成,后面可以跟一个分号和空白字符,空白字符在编辑后会从文本中删除的。掩码示例如表4-6所示。EchoMode的显示效果from PyQt5.QtWidgets import QApplication, QLi
2022-04-21 20:27:20
792
原创 Pytorch学习记录(十三):循环神经网络((Recurrent Neural Network)
循环神经网络的基本结构循环神经网络的基本结构特别简单,就是将网络的输出保存在一个记忆单元中,这个记忆单元和下一次的输入一起进入神经网络中。使用一个简单的两层网络作为示范,在它的基础上扩充为循环神经网络的结构,可以看到网络在输入的时候会联合记忆单元一起作为输入,网络不仅输出结果,还会将结果保存到记忆单元中。输入序列的顺序改变,会改变网络的输出结果,这是因为记忆单元的存在,使得两个序列在顺序改变之后记忆单元中的元素也改变了,所以会影响最终的输出结果。...
2021-10-24 20:58:40
185
原创 Pytorch学习记录(十二):学习率衰减+正则化
学习率衰减对于基于一阶梯度进行优化的方法而言,开始的时候更新的幅度是比较大的,也就是说开始的学习率可以设置大一点,但是当训练集的 loss 下降到一定程度之后,,使用这个太大的学习率就会导致 loss 一直来回震荡,比如这个时候就需要对学习率进行衰减已达到 loss 的充分下降,而是用学习率衰减的办法能够解决这个矛盾,学习率衰减就是随着训练的进行不断的减小学习率。在 pytorch 中学习率衰减非常方便,使用 torch.optim.lr_schedulernet = resnet(3, 10)o
2021-10-24 20:48:35
276
原创 Pytorch学习记录(十一):数据增强、torchvision.transforms各函数讲解
常用的数据增强方法常用的数据增强方法如下:1.对图片进行一定比例缩放2.对图片进行随机位置的截取3.对图片进行随机的水平和竖直翻转4.对图片进行随机角度的旋转5.对图片进行亮度、对比度和颜色的随机变化import syssys.path.append('..')from PIL import Imagefrom torchvision import transforms as tfs# 读入一张图片im = Image.open('./cat.png')im随机比例放缩
2021-09-12 14:39:16
2290
原创 Pytorch学习记录(十):数据预处理+Batch Normalization批处理(BN)
数据预处理目前数据预处理最常见的方法就是中心化和标准化,中心化相当于修正数据的中心位置,实现方法非常简单,就是在每个特征维度上减去对应的均值,最后得到 0 均值()像素范围在[-128,127],以0为中心的特征。标准化也非常简单,在数据变成 0 均值之后,为了使得不同的特征维度有着相同的规模,可以除以标准差近似为一个标准正态分布,也可以依据最大值和最小值将其转化为 -1 ~ 1 之间。Batch Normalization批处理(BN)批标准化,简而言之,就是对于每一层网络的输出,对其做一个归一化,
2021-09-12 10:19:52
416
原创 Pytorch学习记录(九):Pytorch中卷积神经网络
卷积神经网络中所有的层结构都可以通过 nn这个包调用。1.卷积层nn.Conv2d()torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)nn.Conv2d()就是PyTorch中的卷积模块了,里面常用的参数有5个,分别是 in_channels,out_channels,kernel_size,stride,padding,除此之外还
2021-09-05 18:17:11
321
原创 Pytorch学习记录(四):参数初始化
参数初始化(Weight Initialization)只需要学会如何对模型的参数进行初始化的赋值即可。使用 NumPy 来初始化举例import torchimport numpy as npfrom torch import nnnet1 = nn.Sequentisl( nn.Linear(30,40), nn.ReLU(), nn.Linear(40,50), nn.ReLU(), nn.Linear(50,10))# 访问第一层的参数
2021-08-30 15:55:57
365
原创 Pytorch学习记录(五):反向传播+基于梯度的优化器(SGD,Adagrad,RMSporp,Adam)
反向传播算法链式法则求偏导反向传播Sigmoid函数举例反向传播算法,这是深度学习中优化算法的核心,因为所有基于梯度的优化算法都需要计算每个参数的梯度各种优化算法的变式1.梯度下降法2.SGD随机梯度下降法就是每次使用一批(batch)数据进行梯度的计算,而不是计算全部数据的梯度。3.Momentum动量是在随机梯度下降的同时,增加动量这来自于物理中的概念,可以想象损失函数是一个山谷,一个球从山谷滑下来,在一个平坦的地势,球的滑动速度就会慢下来,可能陷入一些鞍点或者
2021-08-29 21:07:41
1390
原创 Pytorch学习记录(七):处理数据和训练模型的技巧
良好的数据预处理和参数初始化能够很快达到事半功倍的结果。在模型训练中采用一些训练技巧,能够使得模型最后达到state-of-art的效果,这一节我们讲一讲处理数据和训练模型。数据预处理1. 中心化每个特征维度都减去相应的均值实现中心化,这样可以使得数据变成0均值,特别对于一些图像数据,为了方便我们将所有的数据都减去一个相同的值。2. 标准化在使得数据都变成0均值之后,还需要使用标准化的做法让数据不同的特征维度都有着相同的规模。有两种常用的方法:一种是除以标准差,这样可以使得新数据的分布接近标准高
2021-08-24 19:43:56
321
原创 Pytorch学习记录(三):神经网络的结构+使用Sequential、Module定义模型
例如:nn.Linear(in,out)如输入层4个节点,输出2个节点,可以用nn.Linear(4,2)来表示,同时 nn.Linear(in,out,bias=False)可以不使用偏置,默认是True。N 层神经网络并不会把输入层算进去,因此一个一层的神经网络是指没有隐藏层、只有输入层和输出层的神经网络。Logistic回归就是一个一层的神经网络。输出层一般是没有激活函数的,因为输出层通常表示一个类别的得分或者回归的一个实值的目标,所以输出层可以是任意的实数。模型的表示能力与容量..
2021-08-24 17:39:14
881
转载 在Jupyter notebook中用matplotlib.pyplot出现服务器挂掉、崩溃的问题
教程:https://blog.csdn.net/weixin_44671418/article/details/110453108
2021-08-06 10:23:39
1759
原创 数字图像处理基础(冈萨雷斯)二:灰度变换与空间滤波
其中f(x, y)是输人图像, 8(x, y)是处理后的图像,T是在点(x,y)的邻域上定义的关于f的一种算子。图像增强处理是对图像进行加工,使其结果对于特定的应用比原始图像更合适的一种处理。基本灰度变换函数r和s分别代表处理前后的像素值。作为关于灰度变换的介绍,考虑图3.3,该图显示了图像增强常用的三类基本函数:线性函数(反转和恒等变换)、对数函数(对数和反对数变换)和幂律函数(n次幂和n次根变换)。恒等函数是最一般的情况,其输出灰度等于输人灰度的变换,在图3.3中包括它仅仅为了完整性考虑。.
2021-08-05 17:04:48
536
原创 sklearn之 Gaussian Processes
https://www.cnblogs.com/LoveOpenSourceBoy/p/14192528.html
2021-08-04 10:08:13
273
原创 PyQy5学习(二):QMainWindow+QWidget+QLabel
4.1 PyQt5基本窗口控件4.1.1 QMainWindowQMainWindow、QWidget 和QDialog三个类都是用来创建窗口的,可以直接使用,也可以继承后再使用。QMainWindow窗口可以包含菜单栏、工具栏、状态栏、标题栏等,是最常见的窗口形式,也可以说是GUI程序的主窗口,如图4-1 所示。QDialog是对话框窗口的基类。对话框主要用来执行短期任务,或者与用户进行互动,它可以是模态的,也可以是非模态的。QDialog 窗口没有菜单栏、工具栏、状态栏等,如图4-2所示。如
2021-07-04 23:47:59
2062
原创 Pytorch——数据加载和处理
Pytorch中进行数据处理的工具scikit-image:用于图像的IO和变换pandas:用于更容易地进行csv解析
2021-06-17 16:00:35
159
1
原创 图解numpy数组矩阵
学习链接https://blog.csdn.net/qq_42189368/article/details/107403349
2021-06-16 16:07:44
107
原创 数字图像处理基础(冈萨雷斯)一
一幅图像可定义为一个二维函数f(x, y),其中x和y是空间(平面)坐标,而在任何一对空间坐标(x, y)处的幅值f称为图像在该点处的强度或灰度。当x, y和灰度值f是有限的离散数值时,我们称该图像为数字图像。数字图像处理是指借助于数字计算机来处理数字图像。注意,数字图像是由有限数量的元素组成的,每个元素都有一个特定的位置和幅值。这些元素称为像素。1.伽马射线成像伽马射线成像的主要用途包括核医学和天文观测。在核医学中,这种方法是将放射性同位素注射到人体内,当这种物质衰变时就会放射出伽马射线,然后用伽马
2021-06-15 08:57:17
1877
原创 PyQt5学习(一):布局管理+信号和槽关联+菜单栏与工具栏+打包资源包
1.Qt Designer的使用Qt Designer,即Qt设计师,是一个强大、灵活的可视化GUI设计工具,可以帮助我们加快开发PyQt程序的速度。Qt Designer 是专门用来制作PyQt程序中UI界面的工具,它生成的UI界面是一个后缀为,ui的文件。该文件使用起来非常简单,可以通过命令将,ui文件转换成.py格式的文件,并被其他Python文件引用;也可以通过Eric 6进行手工转换。1.1新建主窗口anaconda安装路径下打开designer.exe。路径为D:\anaconda\Lib
2021-06-06 22:24:02
2821
5
原创 Anaconda安装PyQt5 和 pyqt5-tools后没有出现designer.exe的问题解决
使用环境Python3.8Windowsanaconda3(64bit)新版本designer.exe不再出现在pyqt5-tools中。在D:\anaconda\Library\bin路径下
2021-06-03 20:45:43
1568
1
转载 循环神经网络(Recurrent Neural Network,RNN)
本文摘自一下文章,感谢作者分享:https://blog.csdn.net/zhaojc1995/article/details/80572098RNN(Recurrent Neural Network)是一类用于处理序列数据的神经网络。首先我们要明确什么是序列数据,摘取百度百科词条:时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。这是时间序列数据的定义,当然这里也可以不是时间,比如文字序列,但总归序列数据有一个特点——后面的数据跟前面的数据有关系。
2021-06-03 10:50:33
613
1
原创 数据增强(Data Argumentation)
数据不足,可对已有数据进行变换,增强数据库。换句话说数据增强主要用来防止过拟合。常见的数据增强方法:1)随机旋转随机旋转一般情况下是对输入图像随机旋转[0,360)2)随机裁剪随机裁剪是对输入图像随机切割掉一部分3)色彩抖动色彩抖动指的是在颜色空间如RGB中,每个通道随机抖动一定的程度。在实际的使用中,该方法不常用,在很多场景下反而会使实验结果变差4)高斯噪声是指在图像中随机加入少量的噪声。该方法对防止过拟合比较有效,这会让神经网络不能拟合输入图像的所有特征5)水平翻转6)竖直翻转
2021-05-26 17:18:05
1094
转载 目标检测中的mAP
学习链接:https://www.zhihu.com/question/53405779/answer/993913699AP:PR 曲线下面积(下面会说明) mAP:mean Average Precision, 即各类别 AP 的平均值举例:先规定两个公式,一个是 Precision,一个是 Recall,这两个公式同上面的一样,我们把它们扩展开来,用另外一种形式进行展示,其中 all detctions 代表所有预测框的数量, all ground truths 代表所有 GT 的数量。
2021-05-09 16:04:22
109
转载 Pytorch——autograd(自动求导)+nn模块
一个n维张量,类似于numpy,但可以在GPU上运行搭建和训练神经网络时的自动微分/求导机制使用自动微分来自动计算神经网络中的后向传递。 PyTorch中的 autograd 包提供了这个功能。当使用autograd时,网络前向传播将定义一个计算图;图中的节点是tensor,边是函数。如果我们想计算某些的tensor的梯度,我们只需要在建立这个tensor时加入这么一句: requires_grad=True 。这个tensor上的任何PyTorch的操作都将构造一个计算图,从而允许我们稍后在图中执行
2021-04-12 15:24:53
368
转载 nn.module
https://blog.csdn.net/weixin_42018112/article/details/90084419torcn.nn是专门为神经网络设计的模块化接口. nn构建于autograd之上,可以用来定义和运行神经网络。nn.Module是nn中十分重要的类,包含网络各层的定义及forward方法。如何定义自己的网络:需要继承nn.Module类,并实现forward方法。继承nn.Module类之后,在构造函数中要调用Module的构造函数, super(Linear, self)
2021-04-12 10:55:18
338
转载 ResNet残差网络
https://www.cnblogs.com/shine-lee/p/12363488.htmlhttps://blog.csdn.net/mao_feng/article/details/52734438Resnet要解决的是什么问题ResNets要解决的是深度神经网络的“退化”问题。什么是“退化”?我们知道,对浅层网络逐渐叠加layers,模型在训练集和测试集上的性能会变好,因为模型复杂度更高了,表达能力更强了,可以对潜在的映射关系拟合得更好。而“退化”指的是,给网络叠加更多的层后,性能却快
2021-04-12 10:29:05
93
转载 VGG学习记录
学习记录:https://zhuanlan.zhihu.com/p/41423739https://www.cnblogs.com/wangguchangqing/p/10338560.htmlhttps://zhuanlan.zhihu.com/p/42233779VGG是Oxford的Visual Geometry Group的组提出的。该网络是在ILSVRC 2014上的相关工作,主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。VGG有两种结构,分别是VGG16和VGG19,两
2021-04-12 10:10:12
87
转载 AlexNet学习记录
学习记录:https://zhuanlan.zhihu.com/p/27222043https://blog.csdn.net/qq_24695385/article/details/80368618https://www.cnblogs.com/wangguchangqing/p/10333370.htmlAlexNet是在LeNet的基础上加深了网络的结构,学习更丰富更高维的图像特征。AlexNet的特点:更深的网络结构使用层叠的卷积层,即卷积层+卷积层+池化层来提取图像的特征使用Drop
2021-04-12 09:54:25
89
转载 LeNet学习记录
LeNet-5:是Yann LeCun在1998年设计的用于手写数字识别的卷积神经网络,当年美国大多数银行就是用它来识别支票上面的手写数字的,它是早期卷积神经网络中最有代表性的实验系统之一。LenNet-5共有7层(不包括输入层),每层都包含不同数量的训练参数,如下图所示。1、INPUT层-输入层首先是数据 INPUT 层,输入图像的尺寸统一归一化为32*32。注意:本层不算LeNet-5的网络结构,传统上,不将输入层视为网络层次结构之一。2、C1层-卷积层输入图片:32*32卷积核大小:5
2021-04-07 21:47:30
78
原创 import os
1、为什么要执行import os?在python下写程序,需要对文件以及文件夹或者其他的进行一系列的操作。os便是对文件或文件夹操作的一个工具。os.name返回当前系统os.getcwd()返回当前的路径os.remove(路径)删除路径下的文件2、 import os的作用其实该语句就是在python环境下对文件,文件夹执行操作的一个模块。相关详细讲解链接:学习链接1https://blog.csdn.net/Li_haiyu/article/details/80448028.
2021-04-06 14:18:05
17396
原创 深度学习——Dropout
学习链接:https://blog.csdn.net/program_developer/article/details/80737724https://www.cnblogs.com/makefile/p/dropout.html参数正则化方法 - DropoutDropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。什么是Dropout当一个复杂的前馈神经网络被训练在小的数据集时,容易造成过拟合。为了防止过拟合,可以通过阻止特征检测器的共同作用来提高神经网络的性能。Dro
2021-04-06 10:11:09
261
原创 深度学习——早停法(Early Stopping)
学习链接:https://www.jianshu.com/p/9ab695d91459目的:为了获得性能良好的神经网络,网络定型过程中需要进行许多关于所用设置(超参数)的决策。超参数之一是定型周期(epoch)的数量:亦即应当完整遍历数据集多少次(一次为一个epoch)?如果epoch数量太少,网络有可能发生欠拟合(即对于定型数据的学习不够充分);如果epoch数量太多,则有可能发生过拟合(即网络对定型数据中的“噪声”而非信号拟合)。早停法旨在解决epoch数量需要手动设置的问题。它也可以被视为一种
2021-04-06 09:55:32
6350
原创 Pytorch——图像分类器
通常来说,当你处理图像,文本,语音或者视频数据时,你可以使用标准 python 包将数据加载成numpy 数组格式,然后将这个数组转换成 torch.*Tensor。对于图像,可以用 Pillow,OpenCV对于语音,可以用 scipy,librosa对于文本,可以直接用 Python 或 Cython 基础数据加载模块,或者用 NLTK 和 SpaCy。对于视觉,pytorch创建了totchvision的包。https://pytorch-cn.readthedocs.io/zh/lates
2021-04-05 20:54:08
257
2
原创 Pytorch——神经网络
https://blog.csdn.net/Ever_glow/article/details/89086960https://ptorch.com/docs/3/可以使用torch.nn包构建神经网络。神经网络是基于自动梯度 (autograd)来定义一些模型。一个 nn.Module 包括层和一个方法 forward(input) 它会返回输出(output)。如下图这是一个简单的前馈神经网络,它接收输入,让输入一个接着一个的通过一些层,最后给出输出。一个典型的神经网络训练过程包括以下几
2021-04-05 14:25:55
206
原创 Pytorch学习记录——自动微分autograd
学习链接:https://blog.csdn.net/weixin_34062329/article/details/94677293Tensor是PyTorch实现多维数组计算和自动微分的关键数据结构。一方面,它类似于numpy的ndarray,用户可以对Tensor进行各种数学运算;另一方面,当设置.requires_grad = True之后,在其上进行的各种操作就会被记录下来,用于后续的梯度计算,其内部实现机制被成为动态计算图(dynamic computation graph)。autogra
2021-04-05 11:08:55
133
原创 机器学习——动量与学习率衰减
动量动量法是梯度下降法的变式,在随机梯度下降的同时,增加动量。https://blog.csdn.net/weixin_40793406/article/details/84666803学习率衰减学习率 (learning rate)介绍学习率1https://blog.csdn.net/liulina603/article/details/80604385学习率 (learning rate),控制 模型的 学习进度 :lr 即 stride (步长) ,即反向传播算法中的 ηη :ω
2021-04-05 10:26:52
518
原创 机器学习——交叉验证(validation)和正则化(Regularization)
交叉验证其实就是讲数据集分成训练集和测试集,这是最简单的交叉验证。学习链接:https://www.zhihu.com/question/39259296https://blog.csdn.net/weixin_40475450/article/details/80578943正则化(Regularization)正则化是为了防止过拟合, 进而增强泛化能力https://www.zhihu.com/question/20924039https://www.cnblogs.com/jianxin
2021-04-05 10:03:56
191
转载 过拟合和欠拟合学习记录
https://zhuanlan.zhihu.com/p/72038532转载自https://blog.csdn.net/weixin_42575020/article/details/82949285https://blog.csdn.net/xuaho0907/article/details/88649141拟合(Fitting):就是说这个曲线能不能很好的描述某些样本,并且有比较好的泛化能力。过拟合(Overfitting):就是太过贴近于训练数据的特征了,在训练集上表现非常优秀,近乎完美的
2021-03-31 16:00:40
77
原创 安装python - m visdom.server无法启动问题
在注释掉download acripts仍无法启动后,可以尝试下面步骤。一般安装步骤:打开Anaconda Promptpip install visdom启动服务器python -m visdom.server如此是启动成功,如下图,则安装成功。如遇到Downloading scripts, this may take a little while,长时间未响应,则1.找到visdom模块安装位置:anaconda安装目录下\Lib\site-packages\visdom2.修
2021-03-31 14:49:29
6202
20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人