自定义博客皮肤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)
  • 收藏
  • 关注

原创 Pytorch实现自定义神经网络层

我们通常时将其中的分量1作为x1,另外一个作为x2,然后y当作长度,y是x1,x2的结果,然后我们利用反向传播这个方法去求取y关于x1,x2的偏微分,然后得到这个向量的长度在这两个方向上的分量就可以得到,这里就是长度。当我们想要求长度关于某一个分量(比如对于(x1))的导数时,我们实际上是想要知道长度在(x1)方向变化的速率,微分理解一下^^接下来实现有参数的层,需要用到Module类,我们来定义一个线性层。好了,我们来实现一个无参数的函数来计算y,并且可以反向传播求导。

2024-02-19 00:25:59 418 1

原创 生成对抗网络及其pytorch实现应用

迭代次数指的是模型在训练过程中参数更新的次数。一次迭代通常是指模型使用一个 mini-batch(小批量)数据进行前向传播、计算损失、反向传播和参数更新的过程。当我们将整个数据集通过模型训练一轮(将数据集中的每个样本都经过一次前向传播和反向传播)时,就称为完成了一个 epoch。举个例子,假设数据集有 1000 个样本,如果我们将 mini-batch 大小设置为 100,那么在完成一个 epoch 时,模型会执行 10 次迭代(1000个样本 / 100个样本 = 10 次迭代)。

2024-02-16 00:30:27 416 1

原创 序列转序模型及其pytorch实现

1.此处补充一下迁移学习,实际在比如构建一个图像识别应用过程中,很少有人会直接随机初始化权重,且很难有大量数据来重新训练一个模型,相反的,我们会使用一个使用大批量数据训练好的卷积神经网络来训练。早期的卷积层提取低级特征,往后的卷积层提取高级的特征。这意味着只要任务接近我们就可以添加少量的数据来微调,就可以实现任务的迁移。3.普通的神经网络数据是单向传递的,而RNN是循环传递的,输入x经过hidden得到y,而hidden的输出结果h需要作为下次输入的一部分,循环传递。2.循环卷积网络受生物记忆启发。

2024-02-14 23:15:24 339 1

原创 卷积神经网络与手写字体识别pytorch实现

比如我们有个特征图是8*8,池化窗口是4*4,每4*4进行一次采样,就会得到2*2的池化特征图。3.卷积的话,其实是相关性计算,滑动窗口的滑动值叫stride,又称步长,滑动到边缘时停止,如果此时停止了,有些时候中间像素会参与多次卷积,因此我们需要往图像外填充一些像素,叫做填充,padding。我们假设输入为z1,经过隐藏层得到了z2,经过输出层得到z3,最后通过损失函数算出损失值z4,然后正向传播到此结束,接着进行反向传播(backpropagation alg),我们先定义一个。

2024-02-14 21:09:52 401 1

原创 多元分类及其pytorch实现

相比起逻辑回归的二分类,多元分类使用softmax来替代了sigmoid,假如需要分k类,那么应该有k个输入值。k,然后输出k个概率,且概率之和为1。

2024-02-14 15:52:23 368 1

原创 逻辑回归以及pytorch实现

令L(w)= -logp(y|X,w) ,L(w)就是我们需要的损失函数,只需求出最小的损失函数,梯度下降后就可以得到 =w ,pytorch中 有这样的交叉熵损失函数(用极大似然得到的函数),4.极大似然:抛硬币每次独立,若硬币不均匀,则每次抛出的概率会偏向高概率的结果,那么将每次抛出的结果概率累起来,则会趋向最大。2.线性神经元输出xw,经过sigmoid函数映射为(0,1)中,sigmoid = 1/1+e^-x。3.伯努利原理:抛硬币正:p = θ ,y=1 抛硬币反:p=1-θ,y=0。

2024-02-14 15:27:54 332 1

原创 非线性回归的原理与实现

1.激活函数:激活函数是为了让神经网络可以拟合复杂的非线性函数,比如torch.nn.functional.relu()2.人工神经网络是多层人工神经元组成的网络结构,输入层,隐含层,输出层。3,隐含层大于2的神经网络,都可以叫深度神经网络。

2024-02-14 14:17:52 315 1

原创 线性回归原理与python实现

将梯度乘以学习率,得到的结果是参数更新的大小。如果梯度较大,乘以一个较小的学习率可以使参数更新的幅度减小,保持在一个合理的范围内。这样,我们可以沿着损失函数下降最快的方向移动,同时避免更新步长过大导致跳过最优解。所以,乘以一个很小的数(学习率)可以控制参数更新的幅度,确保梯度下降算法朝着最小化损失函数的方向稳定地进行。误差函数:MSE(均方误差) L(w1,w0)= Σ(yi - y)^2。优化方法:梯度下降,autograd,反向传播,优化公式,进行更新。# 清空w的梯度,不然会累加。

2024-02-13 00:47:15 473 1

原创 数据结构内容

递归深度为 n,同时存在 n 个未返回的函数,也占用O(n)的空间,如果每次递的过程都有返回则不会占用n;5.对数阶O(log n):输入长度为 n 的数组,每轮递归将数组从中点处划分为两半,形成高度为 log⁡n 的递归树。循环中的变量占用 O(1) 空间;4.指数阶O(2^n): 指数阶常见于二叉树 ,n层的二叉树节点数量为2^n-1;2.线性阶O(n): 长度为 n 的数组,链表、栈、队列等占用 O(n) 空间;1.常数阶O(1): 常量、变量、对象占用 O(1) 空间;

2023-12-22 09:17:11 28

原创 锚框可以理解成

通过在图像中生成一组固定尺度和长宽比的锚框,算法可以将这些锚框与图像中的目标进行匹配。对于每个生成的锚框,算法会预测该锚框内是否存在目标以及调整其位置和大小以更好地匹配目标框。通过使用不同尺度和长宽比的锚框,目标检测算法可以适应不同大小和形状的目标,并预测它们的位置和尺寸。这种调整和匹配过程有助于提高目标检测算法在不同场景下的准确性和鲁棒性。是的,你理解得很准确!锚框可以看作是一组不同尺度和长宽比的框,在目标检测算法中与目标框进行对应。锚框可以理解成不同尺度大小的框去与目标框进行对应,然后调整算法吗。

2023-12-01 11:30:26 40 1

原创 OpenVion22.3.x以及Opencv DNN部署yolov5(C++)全过程含代码

因为原作者是在linux上配置我们是win,所以接下来,我们需要cmake一下cmakelist,然后就会得到一堆文件,新建过程,读取解决方案,当然,我们也可以直接复制他的源码自己建立一个工程也是可以的,不需要cmakelist,这里可以注意下。正常来说前面没问题这步就能直接跑啦,一般有问题的话可以选择从debug,release上选择哪个,配置是否有d考虑,其他各种崩溃都是版本原因引起,得从版本考虑,不行就重新装一次,版本问题确实麻烦,找起来不是非常方便

2023-11-17 10:07:48 297 1

原创 博客摘录「 Could not locate zlibwapi.dll. Please make sure it is in your library path」2023年11月8日

使用TF2用GPU训练的时候报错“Could not locate zlibwapi.dll. Please make sure it is in your library path”全网搜索半天都没有个结果,最后还是在http://t.csdn.cn/KXzSt中找到了办法。点击这个超链接,是英伟达的官网,这里有提示下载zlib的包,放到c:\windows\system32下面。

2023-11-08 14:30:03 59

原创 博客摘录「 C#详细学习教程」2023年6月29日

/当面试说不可以使用第三个变量来交换变量时int n1,n2;

2023-06-29 14:21:13 42 1

原创 博客摘录「 【halcon】轮廓拟合相关算子」2023年5月26日

特别是使用了 union_adjacent_contours_xld 之后注意一定要 使用 segment_contours_xld 进行打断,然后才能使用 get_contour_global_attrib_xld。

2023-05-26 10:30:42 59 1

空空如也

空空如也

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

TA关注的人

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