自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

报错:RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED。2号卡用不了,改成–num_processes 2 即可。

2024-06-25 15:15:05 108

原创 GFPGAN训练报错C++拓展

解决方案,卸载原始basicsr,清除轮子,重新安装。GFPGAN训练报错C++拓展。

2023-09-15 15:59:07 233

原创 name ‘fused_act_ext’ is not defined

【代码】name ‘fused_act_ext’ is not defined。

2023-09-15 15:56:50 746

原创 KeyError: “No object named ‘SimplifyCropHeadFaceDataset‘ found in ‘dataset‘ registry!“

【代码】KeyError: “No object named ‘SimplifyCropHeadFaceDataset‘ found in ‘dataset‘ registry!

2023-09-15 15:50:01 385 1

原创 CCPL: Contrastive Coherence Preserving Loss for Versatile Style Transfer

在C feature map的中心区域,随机采样N个点作为当前patch,对于这每一个patch,在其周围采样8个点作为其相邻的patch,记录索引,并应用于G feature map。具体来说,就是让同一张图片相邻的两个小patch在风格化前后,二者的差异信息要尽可能的相似。CCPL保证了结果的时间一致性,SCT则用于实现内容特征和风格特征的对齐融合。(1)SIFID:计算风格图像和生成图像的分布距离,衡量风格转换程度的好坏。(2)Wikiart - 为艺术家们的作品数据集,作为风格数据。

2023-08-17 14:20:03 225

原创 单卡训练正常,多卡分布式训练梯度回传报错

【代码】单卡训练正常,多卡分布式训练梯度回传报错。

2023-08-01 16:07:51 192

原创 scp通过跳板机在两台服务器之间传输文件

【代码】scp通过跳板机在两台服务器之间传输文件。

2023-07-22 08:56:55 248

原创 torch.bmm()函数详解

【代码】torch.bmm()函数详解。

2023-07-13 17:06:03 316 1

原创 航班机型分配

工业工程教职委课程设计比赛–航班机型分配题目需要的私聊,代码与模型均提供

2023-07-05 20:57:53 88

原创 Memories are One-to-Many Mapping Alleviators in Talking Face Generation

论文:paper

2023-07-02 16:56:00 65

原创 OpenCV基础操作-Sobel算子

边缘的强度取决于像素值的变化率以及Sobel算子的参数设置。通过调整参数和进一步处理边缘图像,我们可以获得更准确的边缘信息,并在图像处理任务中使用这些边缘,例如对象检测、图像分割等。Sobel算子主要通过两个方向(水平和垂直)的梯度来检测图像中的边缘。然后,通过组合这两个方向上的梯度值,我们可以找到图像中的边缘。因此,Sobel算子提供了一种方便和简单的方法,用于检测图像中的边缘,并在计算机视觉和图像处理领域中得到了广泛应用。可以把Sobel算子看作是一种特殊的滤波器,用于计算图像中每个像素点的梯度信息。

2023-06-24 23:32:23 417

原创 RuntimeError: CUDA error: CUBLAS_STATUS_INTERNAL_ERROR when calling `cublasCreate(handle) 解决方案

【代码】RuntimeError: CUDA error: CUBLAS_STATUS_INTERNAL_ERROR when calling `cublasCreate(handle) 解决方案。

2023-06-24 18:31:19 1828

原创 OpenCV基础操作-开运算与闭运算-梯度运算

在OpenCV中,开运算(Opening)和闭运算(Closing)都是图像形态学的操作,它们经常与腐蚀和膨胀操作结合使用,用于图像处理和分析中的一些任务,如去噪、平滑、边缘检测等。开运算(Opening)操作的定义为先对图像进行腐蚀操作,再对腐蚀后的图像进行膨胀操作。开运算可以消除图像中的小且细小的噪点,同时保持主要对象的形状和结构。闭运算(Closing)操作的定义为先对图像进行膨胀操作,再对膨胀后的图像进行腐蚀操作。先进行膨胀操作,再进行腐蚀操作,梯度运算的结果为:膨胀操作结果-腐蚀操作结果。

2023-06-24 18:22:04 820

原创 Opencv基础操作-腐蚀操作-膨胀操作

初始化一个核(初始化大小和尺寸),类似于一个滑动窗口,在目标图像上面进行遍历,若这个窗口内图像的像素都大于或者都小于窗口元素(都为前景或者背景)则不进行操作,若不同,则将窗口内对应的图像像素进行腐蚀操作(初始化核的大小,越大一次性比较的区域越大,则一次迭代腐蚀的区域会越大,定义迭代次数,即对输入进行多少次腐蚀。即若窗口内的图像像素相同,不进行操作,若不同,则将。

2023-06-24 00:59:14 2418 1

原创 图像阈值处理-图像平滑处理-均值滤波-方框滤波-高斯滤波-中值滤波

图像平滑处理,图像加噪处理,各种滤波比较

2023-06-23 01:32:34 204

原创 Opencv基础操作-图像/视频读取和展示-图像边缘填充-图像数值计算和融合

Opencv基础操作-图像/视频读取和展示-图像边缘填充-图像数值计算和融合

2023-06-22 23:50:58 294

原创 Efficient Geometry-aware 3D Generative Adversarial Networks

利用单张图片,通过无监督的方式生成多角度协同的视图和对应的3D图仍存在很大的挑战当前的3D GANs模型存在两点不足:1.所需计算资源巨大–限制了其实际应用和可输出分辨率;2.采用估计的方法而非3D协同(没有采用一个点一个点的方法去生成整张3D视图)–无法做到真正的多角度协同。作者提出了一种高效的,显示-隐式混合的模型,可以实时生成高分辨率的多角度协同视图以及对应的3D视图。

2023-06-20 00:05:12 254

原创 A Style-Based GAN Encoder for High Fidelity Reconstruction of Images and Videos--论文笔记

作者设计了一种新的encode模型框架,不同于以往的encoder只为GAN提供一个latent code,作者所设计的encoder有两条分支的输出,第一条和以往的encode模型一样提供latent code,另一条分支提供feature tensor。作者提到,这个feature tensor是GAN能生成高质量图片/视频的关键。大量的实验证明作者所提出的框架在多个数据集上面达到了SOTA效果。

2023-06-14 22:29:17 145 1

原创 MyStyle: A Personalized Generative Prior-论文

MyStyle:个性化人像生成式先验。论文提出MyStyle模型框架,一种用数十张个人照片训练的个性化深度生成式先验。MyStyle允许重建、增强和编辑特定人物图像,使输出高度保留此人的关键人脸特征。首先先在大数据集(FFHQ)训练StyleGAN,随后,在给定一小部分人像图像的参考集(100张),调整预训练StyleGAN人脸生成器的权重,在潜空间形成一个局部、低维、个性化流形。该流形构成了一个个性化区域,跨越了与个人不同肖像图像相关的潜代码。

2023-06-06 16:14:24 256

原创 DiffusionRig: Learning Personalized Priors for Facial Appearance Editing

作者团队解决了一个问题:从特定人物的小批量数据集(大约20张左右)学习到个性化的先验信息,从而允许模型(DiffsuionRig)对特定人物在保持个性轮廓信息、细粒度信息的同时进行更细致的人脸编辑包括光照、表情等。具体来说,DiffusionRig是一种基于扩散模型的方法,其模型是由从现有图像估计的简化的3D面部模型条件化或“装配”的。DiffusionRig首先从大规模面部数据集中学习通用的面部先验知识,然后从感兴趣人物的少量肖像照片集合中学习个体特定的先验知识。

2023-06-05 21:27:04 593 1

原创 GRU-门控循环单元

GRU(Gate Recurrent Unit)是循环神经网络(Recurrent Neural Network, RNN)的一种。和LSTM(Long-Short Term Memory)一样,也是为了解决长期记忆和反向传播中的梯度等问题而提出来的。相比LSTM,使用GRU能够达到相当的效果,并且相比之下更容易进行训练,能够很大程度上提高训练效率,因此很多时候会更倾向于使用GRU。

2023-06-04 15:02:21 404

原创 RNN(循环神经网络)

我们现在这样来理解,如果把上面有W的那个带箭头的圈去掉,它就变成了最普通的全连接神经网络。x是一个向量,它表示输入层的值(这里面没有画出来表示神经元节点的圆圈);s是一个向量,它表示隐藏层的值(这里隐藏层面画了一个节点,你也可以想象这一层其实是多个节点,节点数与向量s的维度相同);循环神经网络的隐藏层的值s不仅仅取决于当前这次的输入x,还取决于上一次隐藏层的值s。U是输入层到隐藏层的权重矩阵,o也是一个向量,它表示输出层的值;V是隐藏层到输出层的权重矩阵。**之后,隐藏层的值是。**网络在t时刻接收。

2023-06-04 13:27:48 88

原创 14_感受野的概念及其计算方法

但这种方法还是可以应对面试时候的感受野计算问题的,若是研究过程中要计算非常准确的感受野大小的话,还是得再深入研究下,大家可以看看下面的两个参考资料。上面说了感受野的计算是与卷积计算相反的过程,卷积是从低层慢慢一层层卷积到高层的,所以感受野的计算采用的是Top-Down方式,即从最高层向低层迭代计算。根据感受野的概念,大家可以体会到感受野的计算应该与卷积的计算是相反的过程,所以先回顾下卷积输入输出的大小关系公式:(以高度为例)其中F为滤波器的边长,P为padding的大小,S为步长。

2023-06-04 01:30:41 126

原创 13_各种卷积方式串讲

CNN 从 2012 年的 AlexNet 发展至今,各种网络结构层出不穷,尝试了几乎所有可能性的结构搭配以试图找到效果更好的那种,再通过结果去解释过程,这大概就是做深度学习的人的无奈之处吧,每天都有新论文发出,每天都会有新的网络结果,网络结构如此,卷积 (Convolution) 方式也不例外,各种可能性的卷积过程改变方式都出现了(以后大概还有出现新的卷积方式的),效果各异,特点不同,所以想通过这篇文章将各种卷积方式捋一捋,体会下大牛们的智慧!空间可分离卷积简单地将卷积核划分为两个较小的卷积核。

2023-06-03 22:38:11 142

原创 风格迁移算法-Adaptive Instance Normalization

BN和IN的计算主要区别在于一个是针对batch样本,一个是针对个体样本,当训练数据都被归一到同一种风格,一个batch的统计特征和一个个体样本的统计特征会大致相同,而在这个时候,训练loss也大致相同,这侧面说明了影响风格转换的关键就是。既然均值和方差可以很大程度的影响风格转换效果,那么我想改变一张图片的风格,如果先对其进行去风格化,再进行风格嵌入,效果是不是会出奇的好呢?风格迁移,顾名思义,就是将一张图片/视频的风格嵌入到另一张图片/视频中去,被嵌入的图片/视频保持原内容,但是风格却变成了其他样式。

2023-06-03 00:04:14 1487

原创 换脸-DeepFakeLab-SimSwap对比

S对imSwap通俗地讲解:给定一张target image和source image, SimSwap可以将source image的id信息转移到target image之中,并且可以最大程度地保持target image的属性信息不变(姿势,表情,光照等),该论文的创新点在于:1.在DeeoFakes的基础上进行了拓展可以实现任意换脸 2.使用Weak Matching Loss来最大程度保留target image的属性信息。:一对一针对性换脸,源码提供了很强的可交互性,换脸质量高。

2023-06-02 21:13:22 827

原创 12_CNN在图像上表现好的原因

为什么图像识别领域要使用 CNN ,其实潜在意思是在问 CNN 中的卷积层与全连接层相比好在哪里?为什么这么说,因为在卷积神经网络之前,一般的网络都采用的是全连接的方式,前一层的每一个单元都对下一层的每一个单元有影响,而 CNN 中虽然存在全连接层,但是更核心的是前面用于提取特征的卷积层,所以这个问题便转换成了卷积层和全连接层的比较问题。在transformer火起来之前,图像识别、语义分割、目标检测等相关工作中绝大部分是将CNN作为BackBone的,那为什么CNN能在图像上表现得那样出色呢?

2023-05-31 17:18:36 235

原创 11_梯度消失和爆炸以及解决方法

靠近输出层的 hidden layer 3 的权值更新正常,但是靠近输入层的 hidden layer 1 的权值更新非常慢,导致其权值几乎不变,仍接近于初始化的权值。梯度爆炸则是与梯度消失相对的一种情况,指的是误差梯度在反向传播过程中变得非常大,以至于误差梯度超过了计算机可以表示的范围,这会使得权重的更新变得不可控,最终导致模型无法训练或者出现梯度异常的情况。根据反向传播的计算规律,层数越多,越是前面的层的参数的求导结果越小,于是便导致了梯度消失情况的出现。为 sigmoid 函数,

2023-05-31 16:56:32 418

原创 10_理清深度学习优化函数发展脉络

SGD只计算当前梯度更新参数,完全没有考虑历史梯度,但这样有一个问题是假如当前参数处在损失函数的局部最低点处,即梯度为0,因为梯度为0,所以参数不再更新,也就是说不管你之前历史梯度多大,下降地多快,只要你当前梯度为0,那就只能停在这里,也就意味着冲不出这个局部最低点。在Momentum算法中,一个动量项被引入到梯度下降的更新公式中:使用上一次梯度的方向和当前时间步的梯度的方向的加权平均作为更新方向,从而减少振荡,增加在参数空间中的移动速度。Nadam是Adam的变体之一,是一种基于梯度下降算法的优化器。

2023-05-31 16:07:42 112 1

原创 09_为什么图像输入网络前要进行归一化

我的回答是“特征归一化可以消除特征之间量纲不同的影响,不然分析出来的结果显然会倾向于数值差别比较大的特征,另外从梯度下降的角度理解,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解”。接着他又抛出了一个问题“图像的像素值都是在0到255之间,并不存在量纲的差别,那为什么还需要做归一化呢?:根据求导的链式法则,w的局部梯度是X,当X全为正时,由反向传播传下来的梯度乘以X后不会改变方向,要么为正数要么为负数,也就是说w权重的更新在一次更新迭代计算中要么同时减小,要么同时增大。

2023-05-30 14:23:51 484

原创 08_Pooling层的作用以及如何进行反向传播

pooling层没有可学习的参数,在CNN的反向传播中,pooling层需要做的仅仅是将误差传递到上一 层,而没有计算梯度的过程。

2023-05-30 12:39:34 104 1

原创 07_ReLU函数在0处不可导,为什么还能用

训练神经网络的时候,一旦学习率没有设置好,第一次更新权重的时候,输入是负值,那么这个含有ReLU的神经节点就会死亡,再也不会被激活。因为:ReLU的导数在x>0的时候是1,在x<=0的时候是0。如果x<=0,那么ReLU的输出是0,那么反向传播中梯度也是0,权重就不会被更新,导致神经元不再学习。其实我们可以人为提供一个伪梯度,例如给它定义在0处的导数为0,其实tensorflow在实现ReLU的时候也是定义ReLU在0处的导数为0的。来近似,这个函数是连续的,它在0点的导数是0.5。

2023-05-30 11:11:04 1168 1

原创 06_在机器学习中,为什么使用均方误差而不使用绝对值误差

在实际的应用中,由于均方误差对于离群点更具鲁棒性,所以通常在数据中存在离群点的情况下,MSE 会比 MAE 更优秀,可以看到,对于真实标签为负数的情况,使用 MAE 的误差度量方法产生了一个较大的误差值(0.5),而使用 MSE 的误差度量方法产生了一个较小的误差值(0.375)。均方误差的理论基础是假设误差服从高斯分布。也就是说,我们假设预测值的误差服从正态分布,并且使用均方误差最小化误差,可以从概率最大化的角度来认为我们假定预测值的误差是正常的,这是一个典型的高斯分布下的最大似然估计问题。

2023-05-30 10:42:58 621 1

原创 05_三种常见的激活函数

激活函数

2023-05-28 18:49:40 60

原创 04_BN层的深入理解

BN层,手动实现

2023-05-27 16:18:16 333 2

原创 考虑灾害响应的应急设施预定位选址

物流网络设计,随机选址问题,python,gurobi

2023-05-25 21:31:50 2018 15

原创 03-手动实现卷积

在这个例子中我们只是简单的进行了卷积操作,输出1通道的特征图,而在卷积网络之中,我们会经常涉及到通道映射的操作,若想实现此操作,只需要初始化对应通道数的卷积核即可,如想将32×256×256的特征图映射到64×H×W,我们可以初始化64×32×H_×W_个卷积核进行卷积。投影到输出特征图:将结果值填充到输出特征图的相应位置上,输出特征图形状由输出通道数、步幅和填充方式决定。滑动卷积核:卷积核在输入特征图上滑动,对输入数据的每个位置进行元素乘法操作并求和,得到一个输出标量值。

2023-05-25 13:59:38 346

原创 02-过拟合和欠拟合的表现与解决方法

同时,模型的拟合能力是非常强的,如果只根据较少的数据进行训练,模型会专门追求拟合这些数据,而不是追求对整个数据集的更好的泛化能力,从而导致过度拟合。批量归一化(Batch Normalization,BN)是一种常见的神经网络技术,其主要作用是在网络中每一层输入的数据进行归一化,从而使得输入数据具有更加标准的分布,增强了模型的稳定性和泛化性能,在一定程度上可以抑制过拟合。因为输入数据被归一化,最终的输出更加稳定,使得模型更容易收敛,从而可以使用更大的学习率,加速训练的过程。BN层增加了模型的随机性。

2023-05-24 21:00:30 5072 3

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除