pytorch

一文读懂YOLO V5 与 YOLO V4

自闭症网瘾萝莉.ら 提交于 2020-11-27 05:46:55
YOLO之父Joseph Redmon在今年年初宣布退出计算机视觉的研究的时候,很多人都以为目标检测神器YOLO系列就此终结。然而在4月23日,继任者YOLO V4却悄无声息地来了。Alexey Bochkovskiy发表了一篇名为YOLOV4: Optimal Speed and Accuracy of Object Detection的文章。YOLO V4是YOLO系列一个重大的更新,其在COCO数据集上的平均精度(AP)和帧率精度(FPS)分别提高了10% 和12%,并得到了Joseph Redmon的官方认可,被认为是当前最强的实时对象检测模型之一。 正当计算机视觉的从业者们正在努力研究YOLO V4的时候,万万没想到,有牛人不服。6月25日,Ultralytics发布了YOLOV5 的第一个正式版本,其性能与YOLO V4不相伯仲,同样也是现今最先进的对象检测技术,并在推理速度上是目前最强。 从上图的结果可以看出,YOLO V5确实在对象检测方面的表现非常出色,尤其是YOLO V5s 模型140FPS的推理速度非常惊艳。 YOLO V5和V4集中出现让很多人都感到疑惑,一是YOLO V5真的有资格能被称作新一代YOLO吗?二是YOLO V5的性能与V4相比究竟如何,两者有啥区别及相似之处? 在本文中我会详细介绍YOLO V5和YOLO V4的原理,技术区别及相似之处

马尔科夫决策过程之Markov Reward Process(马尔科夫奖励过程)

删除回忆录丶 提交于 2020-11-26 13:56:32
上文介绍了马尔科夫决策过程之Markov Processes(马尔科夫过程),可以移步到下面: 马尔科夫决策过程之Markov Processes(马尔科夫过程) 本文我们总结一下马尔科夫决策过程之Markov Reward Process(马尔科夫奖励过程),value function等知识点。 1Markov Reward Process 马尔科夫奖励过程在马尔科夫过程的基础上增加了奖励R和衰减系数γ:<S,P,R,γ>。 R是一个奖励函数。S状态下的奖励是某一时刻(t)处在状态s下在下一个时刻(t+1)能获得的奖励期望,如下: 这里大家可能有疑问的是为什么 Rt+1而不是Rt,我们更倾向于理解起来这相当于离开这个状态才能获得奖励而不是进入这个状态即获得奖励。视频中也有学生请教了David。 David的回答:David指出这仅是一个约定,为了在描述RL问题中涉及到的观测O、行为A、和奖励R时比较方便。 他同时指出如果把奖励改为Rt而不是Rt+1,只要规定好,本质上意义是相同的,在表述上可以把奖励描述为“当进入某个状态会获得相应的奖励”。大家认为是约定就好。 详细的定义如下: 2Example: Student MRP 下图是一个“马尔科夫奖励过程”图示的例子,在“马尔科夫过程”基础上增加了针对每一个状态的奖励。 举例说明:当学生处在第一节课(Class1)时,他

【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)

拥有回忆 提交于 2020-11-26 13:54:28
前面总结了马尔科夫决策过程之Markov Processes(马尔科夫过程),见下文:马尔科夫决策过程之Markov Processes(马尔科夫过程) 马尔科夫决策过程之Markov Reward Process(马尔科夫奖励过程),见下文:马尔科夫决策过程之Markov Reward Process(马尔科夫奖励过程) 本文总结一下马尔科夫决策过程之Bellman Equation(贝尔曼方程) 1Bellman Equation for MRPs 首先我们从value function的角度进行理解,value function可以分为两部分: 见下面的推导公式: 我们直接从第一行到最后一行是比较好理解的,因为从状态s到状态s+1,是不确定,还是之前的例子。 比如掷骰子游戏,当前点数是1的情况下,下一个状态有可能是1,2,3,4,5,6的任意一种状态可能,所以最外层会有一个期望符号。 如果我们跟着一直推下来的话:有疑问的会在导出最后一行时,将G(t+1)变成了v(St+1)。其理由是收获的期望等于收获的期望的期望。参考叶强童鞋的理解。 则最后我们得到了针对MRP的Bellman方程: 通过方程可以看出v(s)由两部分组成,一是该状态的即时奖励期望,即时奖励期望等于即时奖励,因为根据即时奖励的定义,它与下一个状态无关。 这里解释一下为什么会有期望符合

How does adaptive pooling in pytorch work?

╄→尐↘猪︶ㄣ 提交于 2020-11-26 07:09:39
问题 Adaptive pooling is a great function, but how does it work? It seems to be inserting pads or shrinking/expanding kernel sizes in what seems like a pattered but fairly arbitrary way. The pytorch documentation I can find is not more descriptive than "put desired output size here." Does anyone know how this works or can point to where it's explained? Some test code on a 1x1x6 tensor, (1,2,3,4,5,6), with an adaptive output of size 8: import torch import torch.nn as nn class TestNet(nn.Module):

How does adaptive pooling in pytorch work?

◇◆丶佛笑我妖孽 提交于 2020-11-26 07:07:54
问题 Adaptive pooling is a great function, but how does it work? It seems to be inserting pads or shrinking/expanding kernel sizes in what seems like a pattered but fairly arbitrary way. The pytorch documentation I can find is not more descriptive than "put desired output size here." Does anyone know how this works or can point to where it's explained? Some test code on a 1x1x6 tensor, (1,2,3,4,5,6), with an adaptive output of size 8: import torch import torch.nn as nn class TestNet(nn.Module):

How does adaptive pooling in pytorch work?

假装没事ソ 提交于 2020-11-26 07:05:26
问题 Adaptive pooling is a great function, but how does it work? It seems to be inserting pads or shrinking/expanding kernel sizes in what seems like a pattered but fairly arbitrary way. The pytorch documentation I can find is not more descriptive than "put desired output size here." Does anyone know how this works or can point to where it's explained? Some test code on a 1x1x6 tensor, (1,2,3,4,5,6), with an adaptive output of size 8: import torch import torch.nn as nn class TestNet(nn.Module):

How does adaptive pooling in pytorch work?

孤街浪徒 提交于 2020-11-26 07:04:32
问题 Adaptive pooling is a great function, but how does it work? It seems to be inserting pads or shrinking/expanding kernel sizes in what seems like a pattered but fairly arbitrary way. The pytorch documentation I can find is not more descriptive than "put desired output size here." Does anyone know how this works or can point to where it's explained? Some test code on a 1x1x6 tensor, (1,2,3,4,5,6), with an adaptive output of size 8: import torch import torch.nn as nn class TestNet(nn.Module):

两层神经网络的实现(含relu激励方程的反向传播推导过程)

孤者浪人 提交于 2020-11-24 12:36:23
神经网络的典型处理如下所示: 定义可学习参数的网络结构(堆叠各层和层的设计); 数据集的制作和输入; 对输入进行处理(由定义的网络层进行处理),主要体现在网络的前向传播; 计算loss ,由Loss层计算; 反向传播求梯度; 根据梯度改变参数值,最简单的实现方式(SGD)为: weight = weight - learning_rate * gradient 使用pytorch和auto_grad(torch自动求导功能): import torch #import numpy #from torch.autograd import Variable EPOCH = 500 LEARNING_RATE = 1e - 6 N , D_in , H , D_out = 64 , 1000 , 100 , 10 # N代表的是样本个数,D_in是样本的维度,H是隐藏层的维度,D_out是输出层的维度 X = torch . randn ( N , D_in ) Y = torch . randn ( N , D_out ) # 先用随机值初始化两层神经网络的权重 w1 = torch . randn ( D_in , H , requires_grad = True ) w2 = torch . randn ( H , D_out , requires_grad = True ) ""

10分钟入门pytorch(0)

十年热恋 提交于 2020-11-24 09:55:58
10分钟入门pytorch(0) 我将我学习pytorch的经验写出来,一步一步从0开始让大家学会pytorch,教程比官网的更加简单,同时也增加了更多简单的例子让大家快速上手pytorch,愉快地开始炼丹。 什么?你还不知道pytorch是啥,快点去看看专栏里面的pytorch介绍吧。 1 环境配置 首先当然是需要安装pytorch了,目前pytorch只支持mac和linux,如果你的电脑是windows,装虚拟机或者双系统。如果想要愉快地炼丹,那么强烈推荐使用linux系统,因为所有的深度学习框架在linux上都有很好的支持,远远好于windows系统,而且linux也没有大家想象中的那么难学,目前linux系统的图形界面让大家上手的时候更加容易。 装完了系统之后就需要安装环境了,首推Anaconda,这是一个科学计算的集成环境,安装完这之后基本所需要的包都有了,而且还提供交互式的jupyter notebook,可以说为我们做实验提供了很好的交互。如果去Anaconda的官网下载速度比较慢,可以去清华镜像下载。 安装完Anaconda之后我们就可以安装pytorch了,进入主页,一步一步来就行了,如果要装GPU版的,需要cuda和cudnn,这个网上有很多教程,可以去看看,如果你只是为了快速上手玩玩pytorch,那么可以不用废时间装GPU版。 2 pytorch基础

机器学习十大经典算法-KNN(最近邻学习笔记)

穿精又带淫゛_ 提交于 2020-11-24 09:54:48
机器学习十大经典算法-KNN(最近邻) 最近在学习机器学习,查阅了很多人的博客,受益颇多,因此自己也试着将过学的内容做一个总结,一方面可以提高自己对学习过的算法的认识,再者也希望能帮助到初学者,共勉。。。 1 K-近邻算法原理 K最近邻(kNN,k-NearestNeighbor)分类算法,见名思意: 找到最近的k个邻居(样本),在前k个样本中选择频率最高的类别作为预测类别,什么?怎么那么拗口,没图说个球球,下面举个例子,图解一下大家就会显而易见了,如下图: 我们的目的是要预测某个学生在数学课上的成绩。。。 先来说明几个基本概念:图中每个点代表一个样本(在这里是指一个学生),横纵坐标代表了特征(到课率,作业质量),不同的形状代表了类别(即:红色代表A(优秀),绿色代表D(不及格))。 我们现在看(10,20)这个点,它就代表着:在数学课上,某个学生到课率是10%,交作业质量是20分,最终导致了他期末考试得了D等级(不佳)。同理,这6个点也就代表了6个往届学生的平时状态和最终成绩,称之为训练样本。。。。 现在要来实现我们的预测目的了,想象一下现在一学期快过完了,张三同学马上要考试了,他想知道自己能考的怎么样,他在数学老师那里查到了自己的到课率85%,作业质量是90,那么怎么实现预测呢? 张三可以看做是(85,90)这个点–也被称之为测试样本,首先,我们计算张三到其他6位同学(训练样本