Deep Learning
文章平均质量分 61
将之前所发过的有关深度学习的文章整理到一个专栏罢了
__TAT__
这个作者很懒,什么都没留下…
展开
-
基于Pytorch的模型推理
训练部门说明假设我们现在有两个文件{first_file: train.py #用于训练模型second_file: inference.py#用于推理检测}在train.py文件中我们使用了定义了一个类,里面声明了我的网络模型,例如。class Net(nn.Moudle):........假设在train.py文件中,我们处理图片是用以下的代码transforms = transforms.Compose([transforms.Resize((224, 224)),原创 2021-02-25 10:57:47 · 2690 阅读 · 0 评论 -
CrossEntropyloss function
Cross entropy loss function又称交叉熵损失,是基于one_hot编码的。举个例子,我们现在来完成一个判别任务,是cat则1,否则为0。那么我们输入一张图片,会面临以下两种概率,其中yhat代表概率。然后根据最大似然知识,我们得出下面式子。其他博客都略过了这里,所以我来尝试解释一下最大似然估计吧,根据概率论知识最大似然估计是用来估计yhat取某值的可能性的,例如我们现在随便设yhat=0.5,当p(x|y)=0的时候,说明yhat不可能等于0.5,当p(x|y)=1的时候说原创 2021-03-02 21:18:12 · 424 阅读 · 0 评论 -
Win10 下载torch以及CUDA配置
下载torch以及CUDA配置下载torch和torchvision安装torch和torchvision安装CUDA检查是否成功下载torch和torchvision进入该网站,下载对应的torch和torchvision版本。https://download.pytorch.org/whl/torch_stable.html以该图为例,cu102代表CUDA10.2版本,cp代表python版本,win当然代表window系统了,而64则是64位操作系统的意思。一些trick:如果太多的w原创 2021-03-22 18:01:39 · 4598 阅读 · 1 评论 -
目标检测基础
什么是目标检测?长话短说,“检测图片中物体所在的位置”。本文只介绍用深度学习的方法进行目标检测。同时建议学习目标检测应先具备物体人工智能算法基础和物体分类现实基础。Bounding Box输出为了得到物体的位置的四个参数,bx、by、bh、bw,我们再最后再输出层上面多加四个神经元来输出这四个参数。同理,我们需要什么信息,就多加一个神经元来输出它。例如,我现在检测一张8x8x3的图片中苹果的位置,我们可以通过kernel_size=2x2x3,stride=2的卷积核连续三次提取特征,再用经过kerne原创 2021-02-28 19:59:45 · 536 阅读 · 0 评论 -
MobileNetV2 网络详解以及Pytorch实现
本文主要解读MoblieNet V2的paper,没有看过V1的也可以看,想看V3也可以先看本文。先附上论文地址V1 https://arxiv.org/abs/1704.04861V2 https://arxiv.org/abs/1801.04381深度可分离卷积深度可以分离卷积(Depthwise separable convolution)在V1便被首次提出,之后的V2、V3都运用了这个。而使用深度可以分离卷积之后,唯一的好处就是极大的减小了参数的数量。上文图片截取原创 2021-03-04 15:31:53 · 1854 阅读 · 1 评论 -
Pytorch制作自己的数据集
Part one 需要的模块1、我们一般是将提取数据集的函数单独作为一个类,这个类继承datasets。from troch.utils.data.dataset import Dataset 2、深度学习中打开图像一般用的是Pillow模块而不是opencvfrom PIL import Image #这里的PIL就是Pillow模块3、我们打开图像之后还需要将图像进行再加工,例如改变尺寸、调整亮度、以及将所有数据打包起来,这时候就需要用到torchvision中的功能包了。impor原创 2021-02-17 21:17:51 · 1882 阅读 · 1 评论 -
Pytorch迁移学习
什么是迁移学习?本文对于迁移学习的概念仅做非常不严谨但十分通俗易懂的简介。在机器学习中迁移学习即是拿别人的网络或网络参数,加以修改训练成为自己的网络。迁移学习的两种常见策略一:加载整个网络结构,但不加载任何参数。from torchvision import modelsNet = models.resnet50(pretrained=Flase)这种方法比较少用,因为我们通常是不具备那么多的数据集来作训练自己的网络参数的。这里以resnet50为例子,在官网中还可以找到更多的经典网络。h原创 2021-02-17 16:51:38 · 261 阅读 · 1 评论 -
Pytorch保存模型和加载
保存模型第一种:保存整个模型torch,save(net,dir) #其中net是你代码中自定义的网络入口(下同) #dir是你将要保存的路径加自定义名字(下同) #eg:"D:/pytroch/mode.pkl" 第二种:保存模型参数torch.save(net.state_dict(),dir)#net.state_dict中包含了三部分:#网络的权重等,上次epoch的次数,optimizer的超参数已经状态加载模型第一:torch.load(dir)注意:它并不原创 2021-01-13 22:59:36 · 170 阅读 · 0 评论 -
深度学习之数据增强一(opencv图像填充)
本文目的:将所有图像等比例缩放到小于224x224x3,然后再对不足224x224x3部分填充黑边,达到所有图片都是224x224x3的规格。本人才疏学浅,也不知道如何准确论证为何填充黑边是有效的行为,反正,亲测效果十分明显。import cv2f = open("img_path.txt") #读取存放图像文件的文本文件i = 1for name in f: name = name.split("\n")[0] #根据自己txt文件格式来读取图像路径 img = cv2原创 2021-02-04 21:24:41 · 1411 阅读 · 0 评论 -
基于Pytorch的行为识别
基于Pytorch的行为分析参考文献3D卷积3D残差网络参考文献参考论文3D Convolutional Neural Networks for Human Action Recognition3D卷积3D卷积针对的数据集是视频,所以3D是在2D卷积的基础上再加一个时间维度。它提取的是视频中某一帧和前后几帧的关联特征。如上,左图是3D卷积,右图是2D卷积。它的Pytorch编写也很简单…nn.Conv3d(in_channels, out channels, kernel_size =原创 2021-03-09 11:57:57 · 1178 阅读 · 4 评论