自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 训练自己的分类数据集

只改了网络结构,模型并没有收敛。因此还可以增加epoch、batch_size、调整超参数进行优化!另外,爬取数据里面也有错误的数据,记得删除,否则会影响训练,爬取数据背景差异大,这也是训练困难的因素之一!准备你要进行分类的数据集,可以自己拍摄,可以网上进行爬取。对之前学的CNN模型进行魔改,模型训练框架基本都不变!请尝试用各种经典网络进行优化模型,训练得到更好的结果!将每个类别图片随机划分为训练集和测试集。

2024-03-25 17:43:43 1310

原创 YOLOv8训练自己的数据集

YOLOv8训练自己的数据集,并且对网络进行修改。

2024-03-20 21:21:38 7366 6

原创 Basic RNN

GRU 也可以被视为 LSTM 的变体,因为它们基础的理念都是相似的,且在某些情况能产生同样出色的结果。

2024-03-19 17:14:21 832

原创 Advanced CNN

Google Net 也叫Inception V1,是由Inception模块堆叠而成的卷积神经网络。注意:只有所有特征图大小一样(W、H一样),才能进行拼接,通道数可以不同。请实现以下两种残差结构,并用他们构建网络跑模型。然而有很多更为复杂的卷积神经网络。这是一个简单的线性的卷积神经网络。卷积层是不是越多越好?接下来,笔交给你了!

2024-01-31 20:17:38 931

原创 basic CNN

进行卷积之后,图像大小(W、H)可能会发生改变;生成的特征图大小不是我们想要的,比如说我们希望特征图大小在卷积之后不发生变化;使用MINIST数据集构建更为复杂的卷积神经网络进行分类,要求conv、relu、maxpooling、linear层都使用三个,参数自己调整,比较一下训练结果。图像中不同数据窗口的数据和卷积核作内积的操作叫做卷积,本质是提取图像不同频段的特征。通过二维卷积可以实现图像特征的自动提取,卷积输出的称为特征图;MaxPooling:下采样,图片W、H会缩小为原来的一半。

2024-01-30 21:32:36 1432

原创 Softmax分类器

之前二分类使用的是sigmoid函数进行分类,它可以把输出归一化到[0,1]之间。如果使用Sigmoid激活函数进行多分类,会出现一个问题:每个类别的概率都是[0,1]之间,他们加起来的概率和可能就不为1.我们想要的结果是满足一个分布:概率P>=0;MINIST数据是一个28*28像素的矩阵,如果把它线性隐射到[0,1]之间。图像我们通常会有通道这个概念,可以理解为一个通道就是一个图像的矩阵。标签采用One-hot编码,与预测的概率值计算损失。其实就是对输出值y取对数,然后再除以输出的对数之和。

2024-01-29 22:35:46 1420

原创 Dataloader加载数据集

是一个数据竞赛网站,提供了很多数据集和解决方案,可以在上面提交代码。torchvision.datasets提供了许多数据集。(其实就是第一步、第四步有所改动)请使用MNIST数据集构建一个线性模型分类器。上节课使用全部数据进行训练。MNIST数据集的使用。

2024-01-28 20:36:46 870

原创 处理多维特征的输入

多维数据的处理

2024-01-27 13:53:05 857

原创 逻辑回归(Logistic Regression)

线性回归是用于预测连续值,做预测;而逻辑回归是预测离散值,即是用来分类的。

2024-01-16 13:35:52 1296

原创 用Pytorch实现线性回归模型

通过构造一个 class LinearModel类来实现,所有的模型类都需要继承nn.Module,这是所有神经忘了模块的基础类。在PyTorch中计算图是通过mini-batch形式进行,所以X、Y都是多维的Tensor。前面已经学习过线性模型相关的内容,实现线性模型的过程并没有使用到Pytorch。之前用过Pytorch的Tensor进行Forward、Backward计算。():它使类的实例可以像函数一样被调用。而使用Pytorch构造模型,重点时在构建计算图和损失函数上。采用MSE作为损失函数。

2024-01-15 21:41:24 1729 2

原创 反向传播(Back Propagation)

反向利用链式求导法则计算:Loss对x、w的偏导数(我们最终要求的结果!最简单的线性模型可以简化为y=wx,x是输入,w是参数,是模型需要计算出来的,y是预测值,*可以看成网络中的计算。如果按照之前的梯度下降,根据链式求导法则,那么需要计算的微分公式非常长,计算非常复杂。已知:loss对r的偏导数:-2 、r对y_hat偏导数:1、y_hat对w偏导数:1。即y 对x 的导数,等于y 对u 的导数,乘以u 对x 的导数。求得:loss对w的偏导数:根据链式求导法则,相乘就可以得到啦!

2024-01-11 16:59:12 1139

原创 梯度下降算法

微分(导数),>0:函数上升,损失值在增大,w应该减小(梯度的反方向运动);

2024-01-10 11:16:01 1008

原创 Linear Regression 线性回归

假设学生用x小时学习深度学习,能够得要y分数:那么学习4小时,能够得到多少分?用已知数据作为训练集:选取线性模型作为模型进行预测,线性模型是最简单的模型:𝑦=𝑥∗𝜔+𝑏,我们需要求:𝜔、𝑏在本次案例中,为了简化模型,使𝑦=𝑥∗𝜔:最开始𝜔是选取一个随机值,然后通过训练想要找到一个𝜔的取值使得生成的预测函数与真实值的差异尽可能小,即损失尽可能小。我们采用损失函数来衡量真实值与预测值之间的差异,目标就是:找到一个𝜔使得损失函数的值最小。

2024-01-04 12:34:22 481

原创 YOLOv8代码下载及环境配置

YOLOv8零基础配置教程。

2023-12-18 21:12:21 2796

原创 Windows11环境下配置深度学习环境(Pytorch)

Pytorch安装

2023-12-17 15:30:18 2444

原创 Pytorch学习概述

普遍认为,卷积神经网络的出现开始于LeCun 等提出的LeNet 网络(LeCun et al., 1998) ,可以说LeCun 等是CNN 的缔造者,而LeNet-5 则是LeCun 等创造的CNN 经典之作。随着技术的进步和研究的深入,学习系统的能力不断提高,已经在许多领域取得了重要的应用和突破。例如,通过机器学习算法,人工智能可以学习玩家的游戏习惯,自动调整游戏的难度,提供更好的游戏体验。随着人工智能技术的不断进步和创新,我们相信它将为人类带来更多的便利和创新,推动社会的进步和发展。

2023-12-13 17:26:40 158

原创 【论文笔记】RepVGG: Making VGG-style ConvNets Great Again

code很多因素影响推理速度,FLOPs的数量值不能真实反应实际的速度。网络推理时是一条单分支结构。只使用3x3卷积核ReLU激活函数。证明了kernel=3的有效性网络简单,没有复杂的超参数。RepVGG是由RepVGGBlock堆叠的简单网络,能很好的达到速度和精度的折中。证明了该网络在分类和分割上的有效性。通过对普通卷积进行编码得到的一条单分支网络,也是 一种 re-parameterization method。W=diag(a)I+diag(b)WnormW = diag(a)I + di

2022-09-22 21:08:34 803 3

原创 超分辨率提升IRN网络

IRN网络,实质就是为了解决图像还原的损失最小化(优化)的问题。(压缩后图像还原)首先我们采样图像等信号时候是连续的,而在计算机获取时候是离散的!所以,很明显信号状态由连续变为离散,这就会有损失了,那么损失误差是不是在容许的范围内,根据采样得到离散的点能不能还原出连续的信号?这就是该理论产生的原因,它就来帮助你解决这个问题!该采样定理的结论是:找到信号最大的频率分量,再用2倍于最大频率分量的采样频率对信号进行采样,从理论上解决了,离散信号能够重建出连续信号的问题。

2022-09-12 11:02:55 1312 1

原创 Linux升级GCC:gcc-9.3.0

解决方案是删掉这个压缩包,重新下载。创建编译目录并进行编译。我在这部分安装时报错。

2022-09-12 09:49:42 1993 1

原创 笔记——线性回归算法总结

1. 线性回归VS KNN线性回归算法KNN典型参数学习非参数学习只能解决回归问题,但是在很多分类算法中,线性回归是基础(逻辑回归)既可以解决分类问题,又可以解决回归问题,但是解决回归问题,准确率没用线性回归算法高对数据有假设:假设数据有线性关系没有假设对数据有强解释性没有解释性2. 线性回归算法公式...

2022-09-10 11:31:01 92

原创 YOLOX3.0版本训练

修改exps/example/yolox_voc/yolox_voc_s.py里的类型信息、数据集信息。修改 yolox/data/datasets/voc_classes.py的类别,改为自己的类别。修改yolox/data/datasets/voc.py中的这一行代码。其中VOC2007上面那两个文件夹是自动生成的不用管。准备VOC数据集,格式如下图。

2022-09-09 23:16:03 653 2

原创 袜子配对问题

算法题:袜子配对

2022-09-06 16:47:07 540

原创 1. 数据结构基础知识

例如 edges[0] = [1, 2, 3, 4]代表 vertices[0]的边集合为 [1, 2, 3, 4]。完全二叉树定义: 设二叉树深度为 k ,若二叉树除第 k 层外的其它各层(第 1 至 k−1 层)的节点达到最大个数,且处于第 k 层的节点都连续集中在最左边,则称此二叉树为完全二叉树。现需求从「姓名」查找「学号」。:相互之间存在的一种或多种特定关系的数据元素的集合,包括:逻辑结构,存储结构和数据的运算。将三人的姓名存储至以下数组中,则各姓名在数组中的索引分别为 0, 1, 2。

2022-09-03 20:03:16 271

原创 4. C# :单选框RadioButton、标签Label、列表框ListBox

Doker属性:作为基础布局。可以让控件完全贴靠某一方向,或者铺满整个容器。置于底层可以铺满容器。

2022-09-03 20:01:44 1840

原创 3. C#:Lenson3_下拉列表框ComboBox与复选框CheckBox

DropDownStyle:为DropDown时,内容可以更改,可能会引发SelectItem的null异常。为了避免这个问题,一般用DropDownList。带有联动的选择用combobox比较好(比如选择地址,第一级别带动第二级别)首先获取cmb1选择的数据,然后设置cmb2的数据。一般使用SelectedItem,因为可以绑定数据,这个数据可以是对象。SelectedItem:为当前所选择的对象。Text:当前控件显示的内容。监视窗口:ctr+D+Q。

2022-09-03 19:51:06 2094

原创 2.C#:lenson2_TextBox

2.C#:lenson2_TextBox。

2022-09-03 19:47:25 184

原创 1. C#:窗体应用

1. C#:窗体。

2022-09-03 19:45:13 210

转载 4. flask:博客项目实战

Flask博客实战

2022-09-03 19:41:30 1080

转载 3. flask:数据库

模型这个术语表示应用使用的持久化实体。在 ORM 中,模型一般是一个 Python 类,类中的属性对应于数据库表中的列。Flask-SQLAlchemy 创建的数据库实例为模型提供了一个基类以及一系列辅助类和辅助函数,可用于定义模型的结构。图中的roles表和users表可像示例 2 那样,定义为Role和User模型。类变量定义在数据库中使用的表名。如果没有定义,Flask-SQLAlchemy 会使用一个默认名称,但默认的表名没有遵守流行的使用复数命名的约定,所以最好由我们自己来指定表名。

2022-09-03 19:38:50 761

转载 2.flask:表单

即便能指定 HTML 属性,但按照这种方式渲染及美化表单的工作量还是很大,所以在条件允许的情况下,最好使用 Bootstrap 的表单样式。Flask-Bootstrap 扩展提供了一个高层级的辅助函数,可以使用 Bootstrap 预定义的表单样式渲染整个 Flask-WTF 表单,而这些操作只需一次调用即可完成。函数的参数为 Flask-WTF 表单对象,使用 Bootstrap 的默认样式渲染传入的表单。例如,可以为字段指定。这个表单中的字段都定义为类变量,而各个类变量的值是相应字段类型的对象。

2022-09-03 19:35:25 228

转载 1.Flask:template

例如,调用 url_for(‘static’, filename=‘css/styles.css’, _external=True) 得到的结果是 http://localhost:5000/static/css/styles.css。例如,在当前版本的 app.py 应用中调用 url_for(‘index’) 得到的结果是 /,即应用的根 URL。在模板中直接编写简单路由的 URL 链接不难,但对于包含可变部分的动态路由,在模板中构建正确的 URL 就很困难了。改动之后的应用如图所示。

2022-09-03 19:33:40 471

原创 可变形卷积:DCNv1and DCNv2

可变形卷积顾名思义就是卷积的位置是可变形的,并非在传统的N × N的网格上做卷积,这样的好处就是更准确地提取到我们想要的特征(传统的卷积仅仅只能提取到矩形框的特征)(a)是标准的3×3卷积。(b),( c),(d)是给普通卷积加上偏移之后形成的可变形的卷积核,其中蓝色的是新的卷积点,箭头是位移方向。因此DCN v1提出在方形卷积核上的每个点学习一个偏移(offset),卷积核可以根据不同的数据学习不同的卷积核结构,如图1所示。在不同的阶段,不同的特征图,甚至不同的像素点上都可能有其最优的卷积核结构。

2022-05-10 21:47:22 5994 8

原创 【python OpenCV3.3 图像处理教程:直线检测、圆检测、对象测量、腐蚀、膨胀等形态学操作、数字验证码识别、人脸检测

1. 直线检测Hough Line Transform:前提:边缘检测已经完成,基于霍夫变换1.1 原理可以通过(theta,r)唯一表示一条直线把过三个点的全部直线以某一角度全部计算出来,如果三个点的直线有相同的,则说明有一条直线过了这三个点。至于为啥用(theta, r)而不是斜率k和截距b来表示一条直线,是因为利用y = kx + b来表示直线时,存在斜率k无穷大的情况,无法计算。并且theta为0到2*pi, 且对于直线来说r一定小于等于b,所以计算的数值也相对较小。参考博客d

2022-04-26 16:48:38 5367

原创 【python OpenCV3.3 图像处理教程】边缘保留滤波EFP、直方图均衡化、反向投影、轮廓发现、

1. 边缘保留滤波EFP高斯双边滤波:cv.bilateralFilter均值迁移滤波:cv.pyrMeanShiftFiltering来自这篇博客的定义:高斯模糊: 基于权重,权重只考虑像素空间的分布,中间的权重大,边缘的权重小。没有考虑像素值之间的差异问题,没有考虑边缘。边缘保留滤波: 像素之间的差异很大,说明是显著特征,如果直接平滑(滤波),显著特征会消失。像素之间差异大的地方通常是边缘,所以边缘保留滤波处理后的图片,在平滑(滤波)的情况下,依旧能够保留图像的边缘。边缘保留滤波EF

2022-04-21 17:34:49 4493

原创 【python opencv3.3图像处理】——图像二值化、图像梯度、图像金字塔、Candy边缘提取

1.图像二值化全局阈值分割“cv.THRESH_TRIANGLE” 只有单个波峰时效果较好,分割细胞图一般用"cv.THRESH_OTSU"“cv.THRESH_TRUNC”,截断,大于阈值设为阈值“THRESH_TOZERO”,小于阈值设为0cv.threshold(gray,0,255,cv.THRESH_BINARY|cv.THRESH_OTSU)#自动寻找阈值,"cv.THRESH_OTSU" 选取阈值的方法局部阈值分割适合光线不均匀的情况下 # binary

2022-04-19 14:30:15 4379

原创 【python OpenCV3.3图片处理教程】-图像基本运算、色彩空间、ROI、模糊去噪

一. 读取图片、视频等基本操作cv.bitwise_not(image)#像素取反import cv2 as cvimport numpy as npdef vedio_demo(): capture=cv.VideoCapture(0) while(True): ret,frame=capture.read() frame=cv.flip(frame,1)#反转 cv.imshow("video",frame) c

2022-04-18 12:31:45 1993

原创 Anchor机制小结:Yolov1~Yolov5

1. Anchor定义就是一个多尺度的滑动窗口,在特征图上的每个cell上生成不同尺寸、不同高宽比的Anchor,也叫先验框为什么要引入多种比例的Anchor?物体检测:一些候选区域进行分类和回归的问题。检测目标的大小、形状各不相同2. Anchor工作过程以YOLOv5为例,利用k-means根据数据集中目标主要分布的长宽尺度聚类出来的一组Anchor。anchor4个值: x1,y1,x2,y2表矩形左上和右下角点坐标。聚类生成3种尺度,每组尺度有3种长宽比为:1:1,1:2,2:1

2022-04-16 17:34:08 3020

原创 李宏毅机器学习笔记:半监督学习

2022-04-15 17:04:06 159

原创 李宏毅机器学习笔记:GAN

GAN的评估方法分类器输出概率,但是会导致Mode Collapse(生成数据分布非常相似),这个问题目前还无法解决。Model Dropping:生成的数据多样性不够。多样性:让生成的图片通过分类器输出所有概率分布,再求每个类别的平均概率分布,如果比较集中则多样性不够。FID:将分类网络softmax输出之前的向量抽象到某一维度(假设服从高斯分布),然后计算与真实数据之间的距离Conditionnal GAN通过输入文字和向量Z产生图片,文字限定生成图片属性,训练的文字和图片需要成对通过

2022-04-15 17:02:41 131

原创 各种 Self-Attention

self-attention只是网络中的一小部分,但是当输入序列N很大的时候,网络的计算量大多数会来自于self-attention,其计算量和输入序列N2N^2N2成正比。什么时候输入的N会很大呢?当输入是图像的时候。假设每一个像素作为一个输入,256x256的图片输入的N=2562256^22562,self-attention的计算量则是2564256^42564减少计算量1. Local Attention/Truncated Attention2. Stride Attention

2022-04-02 16:36:40 922

python opencv3.3 学习代码

python opencv3.3 学习代码

2022-04-06

SimpleLinearRegression.py

两种方式实现的简单线性回归(SimpleLinearRegression)的python代码:1.用for循环求a、b的值 2.用向量运算------>性能提高很多

2020-07-11

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

TA关注的人

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