- 博客(62)
- 收藏
- 关注
原创 模型(model)和扩散模型(diffusion)
在推理(inference)阶段,扩散模型根据设定的策略进行采样,而模型则为每个时间步长提供所需的预测值。所以虽然它们有不同的概念和职责,但二者在生成性模型的训练和采样过程中通常会被结合使用,共同完成最终的生成任务。在采样(sampling)过程中,模型根据给定的噪声条件预测出对应的干净数据。扩散模型定义了将数据逐步加入噪声的过程,以及从噪声数据中恢复干净数据的逆过程。模型通常指的是被训练的神经网络模型,如U-Net、Transformer等。在训练过程中,模型的参数会不断更新以最小化损失函数。
2024-04-25 14:43:51
378
原创 Learning an Animatable Detailed 3D Face Model from In-The-Wild Images论文笔记
数据准备:从网络收集大量真实图片构建训练集,使用基于深度学习的方法预测2D人脸轮廓和表情等。训练过程中结合对齐、重建和经典3DMM方法作为正则化,使预测的3D模型更精细和逼真。该方法适用于从非受控的野生图片中重建高质量3D面部,可用于多种下游任务。方法效果优于当前最先进技术,为从单张图片重建3D面部提供了进一步改进。可以从单张野生图片重建高质量3D人脸,包含精细的几何结构和表情细节。生成模型可直接用于3D动画,具有良好的泛化能力。生成的3D人脸模型可直接用于动画和渲染。
2023-11-09 14:24:10
720
原创 基于深度学习的光流估计算法汇总
光流估计是计算机视觉研究中的一个重要方向,其不像其他感知任务会显式的在应用中呈现。如今,光流估计也在基于视频的任务中承担着越来越重要的作用。
2022-09-10 23:24:15
790
4
原创 学习率衰减策略
在训练网络时,学习率用来控制参数的更新速度,使用小的学习率,参数的更新速度就会比较慢,也有可能导致模型停在局部极小值上,不利于跳出去寻找一个更好的局部极小值;使用的学习率过大时,参数在搜索过程中会出现震荡,可能在局部最优值附近震荡,网络不能收敛,也可能会越过最优参数,导致模型找不到好的参数。在训练时一般都选择一定的学习率衰减策略,在初期学习率大一些,随着训练的进行逐渐减小。...
2022-09-01 10:34:06
547
原创 embedding层和全连接层的区别是什么?
二者概念不太一样embedding目的是把一个高纬的,每个维度上相对稀疏的数据投影到相对低维的,每个维度可以取实数集的数据操作。本质上是用连续空间替代(准)离散空间,以增加空间利用率,减少不必要的parameter。nlp和推荐系统里的embedding,输入数据就是word id或item ID,也就是one hot encoding,输入维度就是词的个数,每个维度上取01,空间利用率极低。这种情况下,一般的embedding的实现方式就是一个用全连层,输入维度高,输出维度低。当然embeddibg也可以
2021-01-08 10:15:59
1587
原创 如何用ffmpeg合并音频和视频?
使用的条件是:视频文件中没有音频ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental output.mp4video.mp4,audio.wav分别是要合并的视频和音频,output.mp4是合并后输出的音视频文件。下面的命令是用audio音频替换video中的音频ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental -map
2020-12-14 22:16:22
5874
原创 CTR (点击通过率)
CTR(Click-Through-Rate)即点击通过率,是互联网广告常用的术语,指网络广告(图片广告/文字广告/关键词广告/排名广告/视频广告等)的点击到达率,即该广告的实际点击次数(严格的来说,可以是到达目标页面的数量)除以广告的展现量(Show content)。CTR是衡量互联网广告效果的一项重要指标。...
2020-10-04 14:09:59
1172
原创 python tolist()方法
将数组或者矩阵转换成列表,如下:>>> from numpy import *>>> a1 = [[1,2,3],[4,5,6]] #列表>>> a2 = array(a1) #数组>>> a2array([[1, 2, 3], [4, 5, 6]])>>> a3 = mat(a1) #矩阵>>> a3matrix([[1, 2, 3], [4, 5, 6
2020-10-02 01:34:34
7414
原创 优先队列_heap
定义在计算机科学领域,堆是指一个特定的基于数结构的数据结构,其必须满足堆属性:如果A是B的父级节点,那么A和B的排序规则,和整棵数的排序规则一致。也就是说,要么整棵树中父节点都大于或等于字节点,最大的节点是根节点(最大堆);要么整棵树中所有的父节点都小于或者等于子节点,最小的节点是根节点(最小堆)。堆结构在一些有关图的算法中有着重要作用,比如宽度优先遍历的Dijkstra’s algrithm;在堆排序中也起着重要作用。一种著名的数据结构是堆(heap),它是一种优先队列。优先队列让你能够以任意顺序
2020-09-06 10:55:07
507
原创 Python中OrderedDict的使用
很多人认为python中的字典是无序的,因为它是按照hash来存储的,但是python中有个模块collections(英文,收集、集合),里面自带了一个子类OrderedDict,实现了对字典对象中元素的排序。请看下面的实例:import collectionsprint "Regular dictionary"d={}d['a']='A'd['b']='B'd['c']='C'for k,v in d.items(): print k,vprint "\nOrder dictio
2020-07-16 09:28:38
1985
原创 为什么要用one-hot编码
将离散型特征使用one-hot编码,确实会让特征之间的距离计算更加合理。比如,有一个离散型特征,代表工作类型,该离散型特征,共有三个取值,不使用one-hot编码,其表示分别是x_1 = (1), x_2 = (2), x_3 = (3)。两个工作之间的距离是,(x_1, x_2) = 1, d(x_2, x_3) = 1, d(x_1, x_3) = 2。那么x_1和x_3工作之间就越不相似吗?显然这样的表示,计算出来的特征的距离是不合理。那如果使用one-hot编码,则得到x_1 = (1, 0, 0)
2020-07-14 16:41:59
1520
原创 pytorch学习记录
net = LeNet() # 实例化一个类模型import ipdb; ipdb.set_trace()print(net)net.load_state_dict(torch.load('Lenet.pth')) # 加载模型数据## tensor变量转numpyim = Image.open('cat.jpg')im = transform(im) # [C, H, W]im.numpy() ## tensor变量转numpy ## numpy转tensorsub_ts
2020-07-14 08:47:10
229
原创 leetcode 5回文
下面是python版 执行用时40ms 哭class Solution: def longestPalindrome(self, s: str) -> str: huiwen_zong = [] if len(s)==0: return "字符串为空" elif len(s) == 1: return s elif len(s) == 2: if s[0]
2020-07-12 23:17:41
185
原创 空间金字塔池化(Spatial Pyramid Pooling, SPP)
空间金字塔池化(Spatial Pyramid Pooling, SPP)在SPPnet和Fast-RCNN中都用到了空间金字塔池化(Spatial Pyram...
2020-07-07 23:56:45
870
原创 Dropout技术为什么能防止过拟合?
在学习深度学习时,常常有人会问到这样一个问题:Dropout技术为什么能防止过拟合?当然,简单的回答是:防止参数过分依赖训练数据,增加参数对数据集的泛化能力。这样的回答,当然是正确的。但有点抽象。我来说点具体的案例,以帮助大家更形象化地理解。首先,这涉及到深度学习的分布式特征表达。1.什么是分布式特征表达呢?分布式表征(Distributed Representation),是人工神经网络研究的一个核心思想。那什么是分...
2020-07-07 05:06:24
1362
转载 空洞卷积(Atrous Convolution)
优点:在不做pooling损失信息和相同的计算条件下的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。空洞卷积经常用在实时图像分割中。当网络层需要较大的感受野,但计算资源有限而无法提高卷积核数量或大小时,可以考虑空洞卷积。空洞卷积(dilated convolution)是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。利用添加空洞扩大感受野,让原本3x3的卷积核,在相同参数量和...
2020-07-06 20:35:51
601
原创 Batch Normalization详解
Batch Normalization是google团队在2015年论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》提出的。通过该方法能够加速网络的收敛并提升准确率。在网上虽然已经有很多相关文章,但基本都是摆上论文中的公式泛泛而谈,bn真正是如何运作的很少有提及。本文主要分为以下几个部分:BN的原理使用pytorch验证本文的观点使用BN需要注意的
2020-07-06 17:05:00
563
原创 pytorch torch.nn.AdaptiveAvgPool2d() 自适应平均池化函数解析
如题:只需要给定输出特征图的大小就好,其中通道数前后不发生变化。具体如下:AdaptiveAvgPool2dCLASStorch.nn.AdaptiveAvgPool2d(output_size)[SOURCE]Applies a 2D adaptive average pooling over an input signal composed of several input planes.The output is of size H x W, for any input size. The n
2020-07-06 14:58:17
5422
原创 ResNet网络结构详解与模型的搭建
ResNET(Deep Residual Learning for Image Recognition )ResNet网络是在2015年由微软实验室提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO数据集中目标检测第一名,图像分割第一名。下图是ResNet34层模型的结构简图。在ResNet网络中有如下几个亮点:提出residual结构(残差结构),并搭建超深的网络结构(突破1000层)使用batch normalization 加速训练(丢弃dropout)在R
2020-07-06 14:36:48
7595
原创 利用sorted函数对文件名进行排序
In [5]: a = [ '../../data/facades/train/271.jpg', ...: '../../data/facades/train/272.jpg', ...: '../../data/facades/train/338.jpg', ...: '../../data/facades/train/339.jpg', ...: '../../data/facades/train/34.jpg', ...: '../../data/f
2020-06-30 17:50:06
1004
原创 如何从频谱图看一副图像的高频和低频成分
形象一点说:亮度或灰度变化激烈的地方对应高频成分,如边缘;变化不大的地方对于低频成分,如大片色块区画个直方图,大块区域是低频,小块或离散的是高频把图像看成二维函数,变化剧烈的地方就对应高频,反之低频。举个通俗易懂的例子:一幅图象,你戴上眼镜,盯紧了一个地方看到的是高频分量摘掉眼镜,眯起眼睛,模模糊糊看到的就是低频分量。 图像的高低频是对图像各个位置之间强度变化的一种度量方法.低频分量:主要对整副图像的强度的综合度量.高频分量:主要是对图像边缘和轮廓的度量.如果一副图像的各个位置的强度
2020-06-30 09:38:11
10046
原创 pytorch:model.train和model.eval用法和区别
使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval,eval()时,框架会自动把BN和DropOut固定住,不会取平均,而是用训练好的值,不然的话,一旦test的batch_size过小,很容易就会被BN层导致生成图片颜色失真极大!!!!!!Class Inpaint_Network() ......Model = Inpaint_Nerwoek() #train:Model.train(mode=True).....#test:Model.
2020-06-28 09:30:35
2087
2
转载 旷世面试之Faster RCNN算法
一开始坑定是问项目,但每个人都不一样,所以没啥写的必要,然后开始问基础,这个大家都一样,所以有写的价值,最后编程,就写了个NMS,这个应该会吧? 旷视实习生面试, 感觉面试官对这种 two stage 的算法很在意,&...
2020-06-22 15:54:38
1300
转载 RCNN,Fast RCNN, Faster RCNN总结
行人检测 概述: 行人检测有两种方向,传统算法和基于深度学习算法。传统算法的典型代表有Haar特征+Adaboost算法,Hog特征+Svm算法,DPM算法。而基于深度学习的行人检测典型代表有RCNN系列,YOLO系列和SSD系列。其中RCNN系列...
2020-06-22 15:33:06
420
转载 ROI Pooling层详解
ROI Pooling层详解原文链接:https://blog.deepsense.ai/region-of-interest-pooling-explained/目标检测typical architecture 通常可以分为两个阶段:(1)region proposal:给定一张输入image找出objects可能存在的所有位置。这一阶段的输出应该是一系列object可能位置的...
2020-06-22 15:12:51
553
转载 向量组的秩是什么?
@ 向量组的秩是什么?向量组的秩是什么?通俗的说,就是把这一组向量中的垃圾向量踢出后剩下的高品质向量的个数,假设这一组有5个向量,踢出两个垃圾,还剩3个。那么这个向量组的秩就是3。那什么是垃圾向量呢?就是能被别人线性表示的向量。比如说向量α1能被α2和α3线性表示,也就是它的工作能被别人取代。那么α1就是垃圾向量!秩是线性代数中最重要的概念,是广大考生一定要掌握的概念。在线性代数中,关于秩...
2019-03-24 15:38:44
9799
转载 语法糖
语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。举例说明举个例子:在C语言里用a[i]表示*(a+i),用a[i][j]表示*(*(a+i)+j...
2019-02-26 11:34:02
960
转载 我见过最清晰的–理解梯度,散度,旋度
我见过最清晰的–理解梯度,散度,旋度梯度: 运算的对像是纯量,运算出来的结果会是向量在一个纯量场中,梯度的计算结果会是"在每个位置都算出一个向量,而这个向量的方向会是在任何一点上从其周围(极接近的周围,学过微积分该知道甚么叫极限吧?)纯量值最小处指向周围纯量值最大处.而这个向量的大小会是上面所说的那个最小与最大的差距程度"举例子来讲会比较简单,如果现在的纯量场用一座山来表示,纯量值越大的地方...
2018-12-20 14:35:14
59948
9
转载 BatchNormalization、LayerNormalization、InstanceNorm、GroupNorm、SwitchableNorm总结
https://blog.youkuaiyun.com/liuxiao214/article/details/81037416
2018-11-30 10:02:09
402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人