
深度学习
研究生阶段学习深度学习乱写的东西,也不删掉了,开一专栏封存。ヾ(•ω•`)o
思惘
这个作者很懒,什么都没留下…
展开
-
model.train()与model.eval()的用法
1.问题来源看别人的面经时,浏览到一题,问的就是这个。自己刚接触pytorch时套用别人的框架,会在训练开始之前写上model.trian(),在测试时写上model.eval()。然后自己写的时候也就保留了这个习惯,没有去想其中原因。2.用法(区别)在经过一番查阅之后,总结如下:如果模型中有BN层(Batch Normalization)和Dropout,需要在训练时添加model.train(),在测试时添加model.eval()。其中model.train()是保证BN层用每一批数据的均值和原创 2020-05-31 15:13:13 · 15102 阅读 · 10 评论 -
【记录】使用YOLOV3训练并测试自己的数据集
文章目录labelme制作数据集PyTorch-YOLOv3遇到的问题labelme制作数据集首先安装labelme工具pip install pyqt5 pip install labelme运行labelmelabelme会出现下图所示窗口,点击Open Dir 打开存放数据集的文件夹。点击Edit->Create-Rectangle开始做框标注label,点击ok保存文件夹下会出现对应图片.json文件标注信息接下来用以下代码生成数据集对应的trai原创 2020-05-15 20:23:34 · 1691 阅读 · 5 评论 -
【论文阅读】KiU-Net: Towards Accurate Segmentation of Biomedical Images using Over-complete Representat
概述针对标准UNet这种欠完备的网络架构,提出了Ki-Net网络结构,这种网络结构通过较小的感受野能够检测到较为细微的结构。作者还将这种结构与UNet相结合起来,提出了Ki-UNet网络,在性能上得到了提升。Motivation尽管UNet网络是近年来医学分割领域非常流行的网络,但是,通过研究发现,UNet网络在检测细微的组织结构时性能很差。这是由Unet这种欠完备的网络中较大的感受野造成的。随着网络深度的增加,感受野也就越来越大,使得网络能够更加关注高级的语义信息,但是,细小的组织结构是需要较小的感原创 2020-09-02 10:00:04 · 4911 阅读 · 7 评论 -
常规卷积,膨胀卷积,转置卷积之后的图像大小计算
1.概述看了吴恩达老师的深度学习课程,里面有提到卷积网络的大小计算方式,就记录一下,顺便以pytorch代码实现验证一下。2.普通卷积记图像尺寸为n∗nn*nn∗n,卷即核尺寸为f∗ff*ff∗f,步长为sss,padding大小为ppp,输出的尺寸大小为(n+2p−fs+1)∗(n+2p−fs+1){({{n+2p-f} \over s}+1 )}*{({{n+2p-f} \over s}+1 )}(sn+2p−f+1)∗(sn+2p−f+1)令n=224,f=3,s=1,p=1n=224,f原创 2020-05-31 19:42:03 · 3243 阅读 · 0 评论 -
scipy的最小二乘法实现
from scipy.optimize import leastsqleastsq(func, x0, args=(), Dfun=None, full_output=0, col_deriv=0, ftol=1.49012e-08, xtol=1.49012e-08, gtol=0.0, maxfev=0, epsfcn=0.0, factor=100, diag=None, warning=True)一般来说只需要前面三个参数func:自定义的计算误差的函数x0:计算的初始参数值args:原创 2020-06-04 12:02:57 · 1102 阅读 · 0 评论 -
【记录】图像语义分割网络,FCN-SegNet-Unet-Enet-LinkNet-DenseNet~~~~
文章目录1. FCN1. FCNPaper:原创 2020-05-17 21:39:09 · 3219 阅读 · 0 评论 -
【论文阅读】Pyramidal Convolution:Rethinking Convolutional Neural Networks for Visual Recognition
概述本文提出了金字塔卷积(PyConv),能够在多尺度的卷积核上处理输入的图像。PyConv包含一个卷积核金字塔,每一层级是大小和深度都不同的卷积核,从而可以捕获场景中不同级别的细节,另外PyConv不会增加计算成本和参数,是十分高效的,而且PyConv十分灵活,具有可扩展性。Motivation在现实中,有些类别的物体有着非常打的空间尺寸,而有些物体通常是很细小的。即使是同一类别的物体,在尺寸上也可能会有很大的差异。要捕捉到不同种类的物体以及它们在尺寸上的差异性,只采用单一类别的卷积核显然不足以解决如原创 2020-09-03 09:39:01 · 1721 阅读 · 0 评论 -
【Pytorch-Loss】ValueError: Target and input must have the same number of elements
1.问题描述在使用torch.nn.BCELoss()进行训练时遇到了如下问题:Traceback (most recent call last): File "train.py", line 34, in <module> train() File "train.py", line 28, in train loss = criteration(output, label) File "/home/test/anaconda3/envs/ResUnet/lib/原创 2020-05-16 12:04:39 · 3413 阅读 · 3 评论 -
【Pytorch-error】RuntimeError: Trying to backward through the graph a second time, but the buffers h
问题: 在训练的时候用了两次loss.backward,然后就报错了。解决办法在backward()函数中添加参数retain_graph=True:loss.backward()改为loss.backward(retain_graph=True)原创 2020-08-19 16:37:58 · 732 阅读 · 0 评论 -
【论文阅读】Structured Knowledge Distillation for Semantic Segmentation
概述这篇论文来自CVPR2019 Oral。论文的出发点:语义分割的模型往往很难兼顾速度与精度,也因此语义分割的网络分为两类,论文中描述为 cumbersome segmentation network与 compact segmentation network,简单地说一个注重精度,一个注重速度。这篇论文利用知识蒸馏来提高compact segmentation network的精度。论文的创新点(核心):知识蒸馏不是什么新鲜的东西,论文的核心主要是几个loss的设计,最后一个Discrimina原创 2020-06-09 21:21:48 · 525 阅读 · 0 评论 -
【Pytorch-error】RuntimeError:output with shape[1,512,512] doesnt match the broadcast shape
1.问题描述在使用Pytorch导入数据集时出现了如下报错:出错的地方在于transforms.Normalize()transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])2.解决方法由于我的数据集是单通道的灰度图,所以需要修改transforms.Normalize()的参数。进行如下修改即可:transforms.Normalize([0.5],[0.5])...原创 2020-05-16 12:29:14 · 3214 阅读 · 1 评论 -
【转】【FCN】:Fully Convolutional Networks for Semantic Segmentation
四、全卷积网络FCN详细讲解(超级详细哦) ...转载 2020-05-17 01:00:59 · 499 阅读 · 0 评论