![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 75
ygfrancois
这个作者很懒,什么都没留下…
展开
-
pytorch中如何给网络添加mask
深度学习中,我们经常会遇到需要添加mask的场景,如:nlp中为了长度对齐,需要补齐长度,但在计算attention时会将补齐位置mask掉从而不参与attention计算; mask相关的预训练任务,如MLM、MAE等,需要mask掉被遮盖的token,以完成预测的预训练任务; 计算loss时想忽略掉一些不想用来计算该loss的样本。nlp bert中常见的mask补齐位置的方法为:将mask位置的mask设置为一个很小的数,如-10000,# 将attention_mask设置原创 2022-05-10 21:39:57 · 1789 阅读 · 0 评论 -
如何编辑styleGAN生成的图像的属性
发现一个关于生成高清动漫头像的很棒的博客:gwern faces,讲述了从GAN诞生以来尝试过的各种方法生成动漫人脸的经验,值得一看如何对无监督的styleGan生成器找到对应的特征新创建一个encoder,用于对image编码获取其对应的z。方法是,通过训练好的styleGAN,获取z-生成image对,将该z-image作为训练集用于训练该编码器,则该编码器能够对任意一张图片获得其对应于该styleGAN的编码z,既可通过对该z进行扰动获得一些特征调整。通过反向传播的方法,获取对应编码z。一个神原创 2021-02-25 19:42:48 · 2265 阅读 · 1 评论 -
Pytorch多GPU训练记录
单节点多GPU并行训练DistributedDataParallel使用简介:在单节点多卡的情况下DistributedDataParallel比torch.nn.DataParallel快。DistributedDataParallel实际上是每块GPU创建一个进程,并把数据平均分配到多块GPU上训练步骤:1. 设置CUDA_VISIBLE_DEVICES:可以在运行命令时在命令行里设置:CUDA_VISIBLE_DEVICES=0,1 python -m torch.distri..原创 2020-11-13 12:13:49 · 785 阅读 · 0 评论 -
pytorch分类任务训练几个batch后loss突变为Nan
loss在前几个batch处于正常下降状态,之后突变为Nan,没有增大爆炸的过程。尝试减小学习率,无果。考虑是网络本身有问题导致梯度爆炸。网络分类分支head如下:[nn.Conv3d(ngf, self.opt.n_class, kernel_size=1, padding=0), nn.AdaptiveMaxPool3d((1, None, None))]考虑最后的时间维度的max pooling之后,没有加激活函数,导致该分支输出的数值容易爆炸,所以在之后加了一个tanh层:[n原创 2020-09-01 13:43:42 · 1906 阅读 · 0 评论 -
video prediction深度学习算法汇总
SDC-Net:Video prediction using spatially-displaced convolutionECCV2018,未开源,来自英伟达团队,看结构是vid2vid前身,与另一篇CVPR2019 oral 《Improving Semantic Segmentation via Video Propagation and Label Relaxation》,三者应该来自同一团队。Disentangling Physical Dynamics from Unknown F.原创 2020-06-11 19:41:30 · 3413 阅读 · 0 评论 -
视频预测算法vid2vid比MCNet好在哪里?
视频是一个时序性的图像,所以在模型中既需要捕捉时间相关性,也需要捕捉空间上的特征。时间相关性可以用LSTM这样的类RNN模型来捕捉,而空间相关性则需要CNN网络。更早一点的ConvLSTM单元就是这种思想。深度学习能够处理各种各样的问题,前提是根据问题本身需要设计相关的网络结构,MCNet和vid2vid是17年和18年比较优秀的视频序列处理算法,本文主要分析vid2vid网络与MCNet相比更加优秀的设计,同时尝试解读设计背后的思考和理由。原创 2019-11-28 22:54:12 · 2324 阅读 · 0 评论 -
对抗样本的创建和防御
先列出两个对抗样本创建的github链接:cleverhans百度的AdvBox什么是对抗样本对抗样本产生原因 对抗样本发生的原因:深度学习模型的高度线性性质,导致通过线性模型参数的点乘累积放大输入图像像素值的微小改变。创建对抗样本1. 白盒No-target攻击——FGSM, I-FGSM •固定模型参数W,b,梯度上...原创 2019-07-29 18:30:46 · 5815 阅读 · 0 评论 -
目标检测算法横向比较,包括backbone、特征融合、loss、proposal/anchor/heatmap、NMS、正负样本设置等
目标检测算法发展移步:目标检测算法本文从算法改进的方向,进行横向比较,包括backbone,特征融合、loss、proposal/anchor/heatmap、NMS、正负样本设置等Reference:Object Detection in 20 Years: A Survey Table of ContentsBackbone改进DenseNetResNeXt(gro...原创 2019-05-27 21:37:34 · 9942 阅读 · 1 评论 -
Keras LSTM的参数input_shape, units等的理解
之前一直对LSTM的参数理解有误, 特别是units参数, 特此更正.input = Input(shape=(100,), dtype='float32', name='main_input')lstm1 = Bidirectional(LSTM(100, return_sequences=True))(input)dropout1 = Dropout(0.2)(lstm1)lstm...原创 2019-05-16 20:47:18 · 45831 阅读 · 18 评论 -
目标检测算法综述,包括two-stage,one-stage,anchor-free等(未完)
2019年初的目标检测算法综述:Object Detection in 20 Years: A Survey本文不包括传统算法,只讲基于深度学习的主要算法。原创 2019-05-26 01:40:22 · 4537 阅读 · 2 评论 -
Batch Normalization详解和momentum参数理解
论文:https://arxiv.org/pdf/1502.03167.pdf以下博客对batch Normalization的原理,优点和代码解析做了非常清晰的讲解:http://blog.csdn.net/hjimce/article/details/50866313batch Normalization公式注意:上式中的γ和β是两个可以学习的参数(μ是求出的均值,σ是求出的...原创 2019-05-20 21:24:00 · 23076 阅读 · 7 评论 -
3D目标检测算法详解_pointnet, pointnet++,frustum-pointnets,VoteNet
知识点回顾什么是点云,如何获得点云。点云包含了很多信息,除了3维坐标数据之外,还可能包括颜色、分类值、强度值、时间等。 点云数据可以由多种方法获得:1.直接由Lidar激光扫描出点云数据。 2.不同角度的2D图像组合成点云3.由深度图(Depth Map)生成点云,即将图像坐标+深度信息从图像坐标系转换为世界坐标系。 点云和深度图都会出现深度信息的缺失,因为往往传感器只能捕捉物体表面...原创 2019-05-10 10:38:30 · 9846 阅读 · 3 评论 -
基于faceswap-GAN进行换脸
官方Github:faceswap-GAN先运行MTCNN_video_face_detection_alignment.ipynb对视频中的人脸进行分割,并生成人脸图片供使用,运行该文件会需要运行以下命令:该步骤调用了facenet的mtcnn的weights,需要下载训练好的mtcnn模型参数。 在系统环境里安装ffmpeg, ffmpeg用于将视频转成图片,处理图片,和将图片...原创 2019-04-20 19:49:57 · 8810 阅读 · 4 评论 -
基于Pytorch理解attention decoder网络结构
2019.1.4更新Pytorch的tutorials上目前的attention不是论文上原本的attention,是有问题的,详见讨论:https://github.com/spro/practical-pytorch/issues/84可以看https://github.com/spro/practical-pytorch/blob/master/seq2seq-translation...原创 2018-12-29 17:38:28 · 4952 阅读 · 1 评论 -
Keras使用心得记录
创建model(Squential形式): model.Squential() model.add(Dense(num_pixels, input_dim=num_pixels, init='normal', activation='relu')) model.add(Dense(num_classes, init='normal', activation='so...原创 2019-01-07 16:23:31 · 11364 阅读 · 3 评论 -
如何给深度学习加速——模型压缩、推理加速
深度学习模型往往受到端计算力的限制,无法很好的部署在移动端或无法降低端的计算成本。例如自动驾驶的模型就过于巨大,而且往往是很多模型并行,所以一般会用一些加速的方法来降低推算的计算力要求。加速方法有多种不同角度:网络结构,模型推理加速,模型剪枝,参数量化等。Table of Contents网络结构加速模型推理加速优化模型的推理顺序降低参数精度加速模型剪枝加速参数量化...原创 2019-01-31 17:31:44 · 12926 阅读 · 0 评论 -
tensorflow BERT学习记录--使用自己的训练集--run_classifier.py
tensorflow bert github上有tensorflow bert的源代码和预训练模型的下载链接该仓库里的run_classifier.py 用于fine-tuning以及推理,官方的BERT库里,只需要修改run_classifier.py即可完成对新数据集的fine-tuning和推理, 该文件里的代码主要是以下几块: 训练参数Flags的定义, 没什么好说的, 官方...原创 2019-01-25 16:53:45 · 10469 阅读 · 3 评论 -
深度学习面试题常见问答
目录有哪些方法可以避免过拟合?造成过拟合的原因:解决办法:dropout在训练时和推理时的区别是什么?L1和L2正则化的区别?为什么L1比L2更稀疏?Batch Size大小如何影响收敛速度?BN的原理,与白化的联系损失/代价函数有哪些,分别有什么特点?反向传播算法分类问题的评价标准?回归问题的评价标准?优化算法SGD、Momentum、Nester...原创 2019-03-02 16:56:05 · 16375 阅读 · 0 评论 -
GAN网络的发展(持续更新)
GAN生成对抗网络是最近比较火的深度学习技术,这里记录一下自己学习GAN的笔记,以便日后复习。本文不会给出每种模型的细节,只是提一下主要区别和trick,同时给出相关参考链接。GAN可以做很多事情,如自动生成动漫人物头像;做pix2pix(image2image)的工作,如给黑白图片上色,基于模糊图片生成高清图片,素描生成真实照片,将风景画“莫奈化”等;也可以用于最近比较火的AI换脸,GAN...原创 2019-04-06 22:00:03 · 7380 阅读 · 0 评论 -
深度学习算法在不同任务中的使用到的相同feature/trick合集(持续更新)
在深度学习不同的任务中,往往会用到类似的trick,虽然NLP算法和图像算法处理的场景不同,但是有很多共同的trick可以起到不错的作用,本文记录不同任务中使用到的相同trick。NLP任务的Transformer模型和换脸任务deepfake(原始版本)Transformer的multi-head机制auto-encoder版本的deepfake的upscale(反卷积)中使用了...原创 2019-03-26 11:18:08 · 281 阅读 · 0 评论 -
万能指纹创建——DeepMasterPrints论文解读
论文地址:DeepMasterPrints: Generating MasterPrints for Dictionary Attacks via Latent Variable Evolution文章基于GAN网络生成一个可以匹配最多数指纹的指纹图像,再使用潜在变量进化生成用于字典攻击的万能指纹(DeepMasterPrint)。文章提出了一种新的方法:Latent Variable...原创 2019-03-22 19:21:01 · 755 阅读 · 1 评论 -
Pytorch和Tensorflow在实现RNN上的区别
TF:单个RNN单元可以调用:rnn_cell = tf.nn.rnn_cell.BasicLSTMCell(num_units=128) # num_units是隐藏状态的特征维数,如果直接将h当作输出,则输出特征的维数是128(也可以调用tf.nn.rnn_cell.BasicRNNCell(num_units=128)或tf.nn.rnn_cell.GRUCell(num_un...原创 2019-01-03 20:17:47 · 1887 阅读 · 0 评论