![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 59
dlvector
be better man,基础不牢,地动山摇!
展开
-
竞赛回顾:脊柱疾病智能诊断大赛
先说结果:复赛27/3107,只能说一般般,没有打入前top20,并没有实现自己的目标。但是也是收获了不少经验,做一些总结和分享。失败的经验:尽早开始,尽快搭建自己的整套pipeline,后面再去增加的自己的idea,不断检验自己的idea.可以准备一些自己的pipeline模板,这样可以加速开发。想办法和大佬合作吧,和大佬一起合作。贴一张最后决赛的结果:其中GPU第一队,基本是大佬合集,看个人简介就知道,经常获得冠军的队。也是唯一一个实现map超过0.7的对。自己的实现思路:Unet原创 2020-11-08 23:05:35 · 2688 阅读 · 8 评论 -
网络模型不收敛的可能原因
检查输入数据是否正常。是否有异常数据(全部是零,gt不对)是否归一化数据与预训练模型原来的输入标准是否一致。数据预处理是否正确简单化自己的问题。检查自己的损失函数检查损失的输入检查自定义的网络层检查冻结层的设置检查维度信息是否匹配梯度回传检查检查模型初始化参数超参数的设置是否合理减少正则化训练模式和测试模式的相互转换可视化 (权重,激活函数,权重直方图,层的更新)使用不同的优化器梯度爆炸和梯度消失(查看梯度的值)调节学习率的大小(和权重应该是数量级的差异,权重0.1,学.原创 2022-03-28 01:03:28 · 654 阅读 · 0 评论 -
ROI Align的实现原理2_代码实现
书接上文,上一次分析了一下ROI Align的原理是如何实现的,一直想知道具体细节是如何实现的,这里找了相关资料进行学习.上一篇原理介绍博客:ROI Align的实现原理_dlvector的博客-CSDN博客输入输出的官方文档Arguments:input (Tensor[N, C, H, W]): input tensorboxes (Tensor[K, 5] or List[Tensor[L, 4]]): the box coordinates in (x1, y1, x2, y2)f原创 2022-03-23 01:43:28 · 3888 阅读 · 0 评论 -
mmdection入门
mmdection基本框架原创 2021-12-27 00:40:07 · 288 阅读 · 1 评论 -
非极大值抑制算法(Non-Maximum Suppression,NMS)
算法思想目标检测中常用到NMS,在faster R-CNN中,每一个bounding box都有一个打分,NMS实现逻辑是:1,按打分最高到最低将BBox排序 ,例如:A B C D E F2,A的分数最高,保留。从B-E与A分别求重叠率IoU,假设B、D与A的IoU大于阈值,那么B和D可以认为是重复标记去除3,余下C E F,重复前面两步。代码实现"""文件说明:https://www.cnblogs.com/king-lps/p/9031568.html"""# !/usr/bin/原创 2021-12-26 21:02:17 · 2573 阅读 · 0 评论 -
dataset探索:花的类别
daisy:雏菊(花); (类似雏菊,但花稍大的)菊科植物;dandelion蒲公英;rose玫瑰sunflowers向日葵tulips郁金香原创 2021-07-17 00:19:57 · 112 阅读 · 0 评论 -
ROI Align的实现原理
ROI Pooling 的局限性分析在常见的两级检测框架(比如Fast-RCNN,Faster-RCNN,RFCN)中,ROI Pooling 的作用是根据预选框的位置坐标在特征图中将相应区域池化为固定尺寸的特征图,以便进行后续的分类和包围框回归操作。由于预选框的位置通常是由模型回归得到的,一般来讲是浮点数,而池化后的特征图要求尺寸固定。故ROI Pooling这一操作存在两次量化的过程。将候选框边界量化为整数点坐标值。将量化后的边界区域平均分割成 k x k 个单元(bin),对每一个单元的边.原创 2021-02-21 02:00:16 · 1290 阅读 · 2 评论 -
pytorch中二分类的lossf函数使用
二分类中,torch.nn.BECLoss 和torch,nn.BCEWithLogitsLoss需要预测输出y_pred和y_gt需要一样的维度。故需要使用一下两种转变y_gt的方法。假设y_pred如下:[[1.2 2.3 ],[2.1 2.2 ]]其中,y_gt如下:[[0],[1]]目标是是转化成下面的维度:[[1,0],[0,1]]代码如下:gt_y_temp = torch.zeros(gt_y.shape[0], 2)gt_y_temp[range(gt_y.sh原创 2021-01-01 19:29:56 · 1849 阅读 · 0 评论 -
LSTM:好理解的资源
https://zhuanlan.zhihu.com/p/79064602原创 2020-12-28 03:11:38 · 227 阅读 · 0 评论 -
largest-rectangle-in-histogram
https://leetcode.com/problems/largest-rectangle-in-histogram/submissions/class Solution: def largestRectangleArea(self, heights: List[int]) -> int: sz = len(heights) lessfromLeft = [-1 for _ in range(sz)] lessfromright = [sz原创 2020-07-21 19:02:11 · 110 阅读 · 0 评论 -
pytorch对模型的可视化方法总结
打印输出图像的维度变化如果没有安装summary,可以按照这个指令安装:pip install torchsummary打印每一层特征维度的代码:import torchimport torchvisionfrom torchsummary import summary #使用 pip install torchsummarydevice = torch.device('cuda' if torch.cuda.is_available() else 'cpu')vgg.原创 2020-07-16 16:41:44 · 4016 阅读 · 1 评论 -
hourglass网络分析:网络输出值是什么
DataLoder主要有返回一下三个值: return x, heatmaps, gt解释一下这三个值,第一个x就是输入的图片,大小是96*96可视化是这个样子:第二值,就是各个关键点的heatmap,大小是159696,因为这里是预测15个脸部关键点。直接对15张图拼接在一起可以看到如下图:如果讲其中一张和原图加在一起就可以看到:其中眼睛部分的矩阵具体值如下所示:第三个值gt,最简单,就是关键点的位置坐标。这个数据集一般都会提供。...原创 2020-07-14 23:39:57 · 472 阅读 · 1 评论 -
常见的图像增强库
1.imgaughttps://github.com/aleju/imgaug目前9.5k星星,应该是最值得推荐的增强库,有很多人使用。2.albumentationshttps://github.com/albumentations-team/albumentations目前5.6k星星,是我在kaggle见过的第一个数据增强库。3.Augmentorhttps://github.com/mdbloice/Augmentor目前4k星星4.data-augmentation-review原创 2020-07-13 17:32:03 · 1268 阅读 · 0 评论 -
英伟达驱动相关概念和安装驱动过程记录
查考网站:安装显卡驱动,很细致:https://gist.github.com/wangruohui/df039f0dc434d6486f5d4d098aa52d07原创 2020-07-05 00:39:09 · 2661 阅读 · 0 评论 -
pytorch学习:visdom绘制网络训练过程
安装pip install visdom 或者 conda isntall visdom打开使用visdompython -m visdom.server通过http://localhost:8097访问在代码中加入visdom#导入包from visdom import Visdom#生成一个viz的环境viz = Visdom()#初始化两个小的窗格,来分别绘制train,test的情况# 绘制初始点,原点viz.line([0.], [0.], win='train_lo原创 2020-07-05 19:40:26 · 352 阅读 · 0 评论 -
机器学习:正则化的原理
今天看了B站一位up主解释L1和L2正则化,感觉讲解的很不错,自己总结一下。面试常见问题:如何防止模型过拟合。为什么正则化可以防止过拟合?为什么L1得到的多是稀疏解?这三个问题,明显是一套组合拳。4. 正则化,增加数据,减少模型参数5. 可以从两方面回答,一个是增加约束条件,通过KKT条件,等价于增加正则化。第二,从概率论的角度。L1正则化是先验概率为拉普拉斯分布;L2正则是...原创 2020-04-01 20:42:55 · 504 阅读 · 0 评论 -
动手造轮子:googLeNet
class Inception(nn.module): def __init__(self,input_dim,c1,c2,c3,c4): self.conv1_1=torch.Conv2d(input_dim,c1,kernel_size=1,stride=1,padding=0) self.conv1_1_c2=torch.Conv2...原创 2020-03-25 17:51:29 · 190 阅读 · 0 评论 -
动手造轮子:DenseNet
自己写的:class denseNet(nn.modual): def __inital__(self,input_dim=10,output_dim=10,kernel_size=1,stride=1): super(denseNet,self).__inital__() self.bn=nn.BatchNorm2d(input_dim) ...原创 2020-03-24 15:35:09 · 139 阅读 · 0 评论 -
动手造轮子:ResNet
自己写的版本:class resBlock(x,): def __initial__: conv1=torch.nn.Conv2d(in_channels, out_channels, 1, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros') conv3=t...原创 2020-03-24 01:27:44 · 175 阅读 · 0 评论 -
图像识别:常用的attention代码
SEnet(Squeeze-and-Excitation Network)#https://github.com/Amanbhandula/AlphaPose/blob/master/train_sppe/src/models/layers/SE_module.pyclass SELayer(nn.Module): def __init__(self, channel, reduct...原创 2020-02-25 23:16:20 · 1312 阅读 · 0 评论