- 博客(22)
- 收藏
- 关注
原创 DERT原理
decoder并行同时进行。decoder没有mask,不需要遮盖后面的q,同时输入输出。匈牙利匹配,损失最小的方法作为目标框,剩下为背景。
2021-12-04 10:52:09
5814
2
原创 mmaction-slowfast loss结果
sigmoid loss:1-190epoch loss: 0.68———0.1epoch10epoch40epoch190可以看到明显的梯度下降,sleep和playphone是数据集的问题。focal loss:正在训练myloss:训练不拟合 0-35epoch loss:0.2---0.15左右然后不拟合了看看测试loss有没有拟合:epoch5ep...
2021-11-26 20:28:13
522
2
原创 基于mmaction2的Video-Swin-Transformer源码
网络结构图:位置:Video-Swin-Transformer/mmaction/models/backbones/swin_transformer.pyimport torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.utils.checkpoint as checkpointimport numpy as npfrom timm.models.layers import DropPath, t
2021-10-07 17:04:15
1155
2
原创 基于mmaction2的slowfast源码
backbone源码在mmaction2/mmaction/models/backbones/resnet3d_slowfast.py中import warningsimport torchimport torch.nn as nnfrom mmcv.cnn import ConvModule, kaiming_initfrom mmcv.runner import _load_checkpoint, load_checkpointfrom mmcv.utils import print_
2021-10-07 16:25:41
633
1
原创 【深度学习 十】swin transformer:屠榜各大cv比赛
概要Swin transformer: Hierarchical Vision Transformer using Shifted Windows,是微软2021.03.25公布的一篇利用transformer架构处理计算机视觉任务的论文。在图像分割,目标检测各个领域已经霸榜,让很多人看到了transformer完全替代卷积的可能。而且它的设计思想吸取了resnet的精华,从局部到全局,将transformer设计成逐步扩大感受野的工具。论文链接https://arxiv.org/abs/2103.
2021-09-24 09:55:53
703
1
原创 【深度学习 九】transformer
1transformer的encoder-decoder结构:结构内部:2encoder:2.1 输入部分embedding和postitional encoding(位置编码)为什么需要位置编码:如RNN每一time steps共享一套参数,串行输入输出,而transformer采用可以并行出入几个单词或者一串句子,优点是处理效率高,缺点是无法表示时序关系,所以要对输入的embedding加上postitional encoding。最终输入的...
2021-09-22 20:44:27
499
原创 【深度学习 八】cv中的attention:SENet
通过全局池化将一个通道的特征池化为一个特征,于是池化后的输出为1x1xc。 通过输入的1x1xc的参数生成一个权重向量1x1xc。所以重点就是如何生成和更新这个权重向量。 将这个权重向量和原特征图HxWxC相乘,完成通道维度的attention机制。通过两个全连接一个降维一个升维,和一个RELU,最后接sigmoid生成分配的权重。Resnet和Resnext加上SENet后精度都提高了...
2021-09-21 10:35:43
203
原创 【深度学习 七】NLP & Word Embeddings
1. one-hot和Word Embeddings表征单词的方式是首先建立一个较大的词汇表(例如10000),然后使用one-hot的方式对每个单词进行编码。例如单词Man,Woman,King,Queen,Apple,Orange分别出现在词汇表的第5391,9853,4914,7157,456,6257的位置,则它们分别用O5391,O9853,O4914,O7157,O456,O6257表示。one-hot表征单词的方法最大的缺点就是每个单词都是独立的、正交的,无法知道不同单词之间的相似程.
2021-09-18 09:57:18
251
原创 【深度学习 六】GRU和LSTM
GRU(simplified)引入c=memory cell记忆细胞,这里c(t)=a(t),引入c是为了后面的LSTM。引入如上图是一个sigmord函数,大部分状态是接近0或1,类似于一个门,如上图如果这个更新值=1,也就是说把这个新值,即c(t)设为候选值,然后往前再更新这个值。对于所有在这中间的值,你应该把门的值设为0,即=0,意思就是说不更新它,就用旧的值。因为如果=0,则c(t)=c(t-1)等于旧的值。这样上图中的cat对应的c(t)会一直等c(t-1)的出现,于是它仍然记得猫是单数...
2021-09-17 11:00:44
948
原创 【深度学习 四】为什么使用卷积神经网络?
与全连接层相比,卷积层的两个主要优势在于参数共享和稀疏连接假设有一张32×32×3维度的图片,用了6个大小为5×5的过滤器,输出维度为28×28×6。32×32×3=3072,28×28×6=4704,神经网络,其中一层含有3072个单元,下一层含有4074个单元,两层中的每个神经元全连接,计算权重矩阵等于4074×3072≈1400万,所以要训练的参数很多。卷积层的参数数量,每个过滤器都是5×5,再加上偏差参数,那么每个过滤器就有26个参数,一共有6个过滤器,所以参数共计156个,参数数量还.
2021-09-16 16:04:28
896
原创 【深度学习 三】防止过拟合
L2正则化为什么正则化可以防止过拟合?加入正则化后,w减小了,相当于减小对各方向梯度的影响,也就是减小了对数据集的依赖性,所以会导致欠拟合。过拟合的话就会往right的方向靠拢。λ↑ w↓ z=wa+b↓激活函数g(z)就越接近0,越接近一个线性回归函数,所以可以对抗过拟合现象。dropout正则化超参数keep.prop=cv里用的比较多,因为缺数据需要随机舍弃一些特征。数据增广early stopping梯度消失和梯度爆炸训练神经网络...
2021-09-15 21:03:12
369
转载 【深度学习 二】偏差、方差
偏差、方差一、概念定义偏差(bias):偏差衡量了模型的预测值与实际值之间的偏离关系。通常在深度学习中,我们每一次训练迭代出来的新模型,都会拿训练数据进行预测,偏差就反应在预测值与实际值匹配度上,比如通常在keras运行中看到的准确度为96%,则说明是低偏差;反之,如果准确度只有70%,则说明是高偏差。 方差(variance):方差描述的是训练数据在不同迭代阶段的训练模型中,预测值的变化波动情况(或称之为离散情况)。从数学角度看,可以理解为每个预测值与预测均值差的平方和的再求平均数。通常在深度学
2021-09-15 14:54:24
1142
原创 【深度学习 一】activation function以及loss function理解
一 首先线性回归模型:可以看成是单层神经网络二 引入非线性元素,使神经网络可以完成非线性映射,就引入了sigmoid,ReLU,softmax等激活函数Sigmoid函数Sigmoid =多标签分类问题=多个正确答案=非独占输出(例如胸部X光检查、住院)。构建分类器,解决有多个正确答案的问题时,用Sigmoid函数分别处理各个原始输出值。Sigmoid函数是一种logistic函数,它将任意的值转换到[0,1]之间,如图1所示,函数表达式为:这里的x可以为向量y:...
2021-09-14 21:39:10
520
原创 cv算法工作需要的技能
编程功底:刷LeetCode找找感觉,学好C++,走遍天下都不怕,虽然大厂都要求Python,但是阿里会稍微重Java,腾讯稍微重C++ 基础的图像处理知识,视觉计算课,数字图像处理课,计算机图形学,都可以翻一下 基础的机器学习知识,李航的蓝皮书,周志华的西瓜书,学校的模式识别课,都可以过一下 基本的深度学习知识,CNN,RNN,SGD,BN,各种训练Trick,要熟悉 经典的论文:AlexNet,VGG,Resnet,InceptionV3, Xception,Faster RCNN, SSD,Y
2021-09-11 13:47:36
302
原创 【制作ava数据集 二】将切割的视频片段输出图片帧,用via工具进行标注。
一 利用ffmpeg将视频转为图片帧:ffmpeg -i 地址/listen1.mp4 -vf fps=1 地址/listen1/li1_%6d.jpg用两种方式切割视频:第一种:每秒1帧切割,每段视频动作结果放到一个文件夹第二种:每秒30帧切割,每段视频动作结果放到一个文件夹中(注:和上面1帧不是同一个文件夹)二 使用via标注图片下载via-2.0版本:https://www.robots.ox.ac.uk/~vgg/software/via/...
2021-09-10 10:21:00
1290
3
原创 【制作ava数据集 一】将原视频切割成动作视频片段
利用工具下载地址:https://kuai.360.cn/home.html安装好后,点击新建项目→专业模式,添加剪辑里面选则需要剪辑的视频,点击分割将视频进行切割:要求:将视频中某个完整动作切割出来,如果是多人的视频需要将每个人单独的剪出来:先删除掉不用的视频片段,选中需要的视频片段,点击编辑:选中裁剪,裁剪比例选自由裁剪,然后在视频中将人单独的裁剪下来:点击完成之后,保存导出:保存为动作名称和视频序号(例如:listen1.mp4)尺寸:保留...
2021-09-09 16:05:51
1037
原创 ubuntu18.04安装openpose流程及踩坑点
两天没日没夜终于在ubuntu系统上装上了openpose,我饱受折磨后决定把安装步骤记录下来,以及一些参考博客。安装环境:inter i7,rtx 2060,cuda10,cudnn7.4,opencv 3.2。第1步 安装依赖包安装后续步骤或环境必需的依赖包,依次输入以下命令:sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobu
2021-07-23 16:11:23
2078
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人