深度学习
xiaoju233
Talk is cheap, show me the code.
展开
-
pytorch手把手使用FasterRCNN进行目标检测
手把手使用FasterRCNN进行目标检测使用pytorch自带的预训练FasterRCNN目标检测模型进行目标检测,并把检测到的结果打印到原图片上。由于pytorch自带的FasterRCNN是使用COCO数据集进行预训练得到的,所以我们需要使用COCO的标签来匹配模型输出的结果。详细的注释都在代码里面了。import torchimport torchvisionfrom torchvision.models.detection.roi_heads import fastrcnn_loss原创 2021-10-06 20:49:13 · 5464 阅读 · 6 评论 -
深度学习(四)之反向传播与梯度下降(公式推导)
深度学习之反向传播与梯度下降 有了前馈神经网络,又有了损失函数,就可以使用反向传播算法来更新神经网络中的参数,使得网络的输出尽可能地接近真实值。反向传播算法就是通过链式法则,从最后面的损失函数开始到前面的每一层网络都对参数进行求导,得到梯度之后再使用梯度下降算法更新参数,使得模型的损失函数的输出尽可能小,本质上是损失函数的最优化问题。假设神经网络的输入值为x,输出值为y,激活函数为f,参数为W,偏置量为b,损失函数为L。则第n层的输入值为x(n)x^{(n)}x(n) 输出值为y(n)y^{(n)}y(原创 2020-09-15 23:45:02 · 1776 阅读 · 0 评论 -
深度学习(三)之损失函数
深度学习之损失函数L1范数损失函数 多层感知机可将单层感知机学习到的简单概念进一步整合学习得到复杂的概念,每一层都整合学习上一层输出的较简单的概念,越深的网络能学习到的概念就越高层越复杂。每一层整合的概念方式就是每一个输入值和对应参数的乘积之和,再通过激活函数。 而深度神经网络的学习过程就是不断地更新这些参数,直到得到最优的参数。那么什么样的参数才算是最优的权值呢?其实就是能使神经网络的输出值尽可能地接近真实值的参数,也就是要使得输出值与真实值之间的误差尽可能地小。通常定义一个损失函数来表示输出值原创 2020-09-15 23:25:36 · 1857 阅读 · 0 评论 -
深度学习(一)之感知机与神经网络
深度学习之感知机与神经网络深度学习概述 人工智能这个概念并不是一个新潮的概念,早在人类尚未制造出第一台计算机之前,人们就已经开始思考计算机是否可以变得智能。在人工智能发展的早期,那些对于计算机来说很简单,但对于人类智力来说却相对困难的问题得到解决,例如一些复杂的计算繁重的但是可以通过一系列形式化的数学规则来描述的问题。IBM的深蓝国际象棋程序在1997年打败了世界冠军,而国际象棋可以简短地使用一个完全形式化的规则列表来表示,计算机只需要按照规则来搜索出最佳策略即可。 人工智能技术的真正难点在于如何原创 2020-09-15 23:12:39 · 946 阅读 · 0 评论 -
深度学习(二)之激活函数
深度学习之激活函数 感知机模型中的函数f是非线性的,称为激活函数,激活函数的作用是将输出变为非线性的,这是因为现实世界中大部分数据都是非线性的。比较常用的激活函数有Sigmoid、Tanh和Relu[28]函数。 Sigmoid函数是早期神经网络经常选用的激活函数,其数学表达式为: Sigmoid函数图像如下: 从图像上可以看出,Sigmoid函数取值范围为(0,1),输入非常小时输出为0,输入非常大时输出为1。其函数曲线比较平滑,易于求导,缺点是反向传播求梯度时涉及到除法计算,而且很容原创 2020-09-15 23:12:01 · 363 阅读 · 0 评论 -
深度学习计算机视觉发展简述
深度学习计算机视觉发展简述 1995年诞生的LeNet5[14]网络是最早的卷积神经网络之一,也是现在很多深度神经网络架构的起点。LeNet5利用卷积、参数共享、池化等操作提取图像特征,再利用全连接神经网络进行分类。受限于当时计算机算力不足的问题,卷积神经网络无法发挥出其强大的威力。 2012年Alex等人提出AlexNet[15]网络在ImageNet[16]大赛上以15.3%的错误率绝对优势夺得当年的冠军。利用深度卷积神经网络进行图片分类成为了最受欢迎的技术。和LeNet相比,AlexNet使用原创 2020-09-15 22:59:04 · 969 阅读 · 0 评论 -
目标检测算法SSD-detector(pytorch实现)
目标检测算法SSD-detector(pytorch实现)一批图像输入SSD深度神经网络之后,输出的是预测的bboxes的偏移量和每一个类别的置信度,需要对这些输出进行处理才能得到最终的预测结果。对每一张图片的预测值分别进行如下处理:对每一个bbox取其分数最高(经过softmax)的一类作为其类别(注意要先把背景的分数剔除)。取分数排名前k个bbox进行解码。对这些bbox进行多类别nms处理(非极大性抑制)多类别非极大性抑制:考虑到非极大性抑制后,bbox最高得分的类别可能会被剔除,原创 2020-07-14 10:40:21 · 1390 阅读 · 3 评论 -
目标检测评估指标mAP的计算-python
目标检测评估指标mAP的计算-python目标检测性能评估指标mAP介绍为解决不同场景下对目标检测的位置偏差的需求不同,通常给定一个IOU阈值,超过此阈值则视为检测成功。以及考虑到类别平衡的问题,通常分别求每一个类别的性能,再进行类别间求平均。那么给定一个IOU阈值以及一个特定的类别,如何求这个类别的AP值呢?首先对所有的检测结果排序,得分越高越靠前,然后依次判断检测是否成功。先求出检测结果dets和真实目标gts的iou值,并找出每一个det有最大iou值的gts,若这个最大的iou超过了一定的阈原创 2020-07-13 16:16:42 · 2500 阅读 · 3 评论 -
在pytorch中查看模型model参数parameters
在pytorch中查看模型model参数parameters示例1:pytorch自带的faster r-cnn模型import torchimport torchvisionmodel = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True)for name, p in model.named_p...原创 2020-04-16 10:56:36 · 9081 阅读 · 0 评论