首页 > 编程知识 正文

wide用法,scikit-learn中文社区

时间:2023-05-04 15:05:06 阅读:156860 作者:1546

1:介绍作者首先介绍了自己的方法。 从脸部的一部分生成具有头发和背景的完整肖像画,根据体形制作鸟的头和尾部,或者只生成完整的人体上半身信息。 算法必须考虑每个不完整图像非常不同的上下文,并预测最多三倍于未知像素。

通过调整图像大小将图像大小扩展到边界之外,与超分辨率重建类似。 这意味着在将输入发送到网络之前对其进行上采样,或者在网络中使用空间扩展模块。

单侧约束上下文的边界条件仅为单侧,如图1所示,黑色表示推理方向。 远离图像边界的未知像素比边界附近的像素具有更少的约束,并且可能会累积错误或重复的图案。 因此,设计了相对空间变异损失、上下文对抗损失和上下文归一化,规范了生成过程。

因此最后作者提出了语义播放网络(SRN ),从小部分再生成完整的图像,从小尺寸的输入中直接学习语义特征。 SRN包括特征扩展网络(FEN )和上下文预测网络(CPN ),FEN输入小尺寸的图像提取特征。 这些特征和外推指标放宽到CPN,重建最终的舒张结构。 另外,设计损失和其他处理模块使我们的网络适应单侧约束,生成有意义的结构和自然的纹理。

2 )方法给出输入图像

填补边界

而令人难以置信的是,

w’=wleftright,同时h’=r1hw’=r2w

3 )帧FEN从给定的图像中提取深度特征,CPN对这些特征进行解码,以考虑填充边界和尺寸。 输入图像x和边距变量m=(top、left、bottom、right )以表示扩展。

3.1 )特征扩展模块此模块类似于编码器-解码器。 输入只有hXwXc的x,输出大小为r1hr2wc ) .那么,如何增加图像的大小呢? 这里用超分辨率重构里面的子像素卷积,给出特征图,然后定义为“排序操作”

、I、j和k分别表示为索引的高度、宽度和通道。

FEN用于学习潜在的上下文功能,实验表明初始批量填充像素是后期生成的先验,直接以可用像素为条件的计算机能够在保真度和视觉自然度方面生成更好的表示。 因此,作者模型直接估计给定的视觉数据,并估计美亚预定义的先验。

3

3.2:上下文预测也是诸如编码器解码器的网络,其中输入是f(x )和填充指示符的级联,即二进制掩码。 输出为Y^,大小为r 1 h r 2 w c,还提供了上下文归一化模块,用于调整填充区域和已知区域之间的特征分布。

CPN网络包括排除在FEN之外的填充极限以表示预测是未知的,其次,除了填充裕度之外,到网络的输入还包括由FEN学习的上下文的特征,而不是粗略的预测,生态环境

进行上下文规范化是为了提高生成的图像的样式的一致性,CN函数的定义如下:

分别表示为已知和未知领域。 f )在输入扩展特征图上提取“瓶颈”特征,[ 0,1 ],表示最近邻下采样算子。 m与f(x )具有相同的高度和宽度。 (and) )计算平均差和标准偏差。 本质上,将已知特征的均值和方差转移到未知领域,生成的内容超过了一些限制。

4 )损失函数4.1相对空间变异损失这是通过提供像素监视来稳定训练过程。 通过内容外推,需要空间变异监测,设计相对空间变量(RSV )重构损失并结合此空间正则化,表示为

g是归一化高斯滤波器,

、是hxdxlb乘积运算符

、权重矩阵和最后重建损失的定义。

g(x,m; )是g的输出,y是对应的真实,是可以学习的参数。

4.2隐式多样化的MRF损失通过g(x,m )和y的近似特征分布创建清晰的纹理。

使用这2个表示从中提取的特征,表示填补区域的预测。

这两者之间的ID-MRF损失定义如下:

z是归一化因子。 )8)是Eq的标准化版本)9)分别定义了来自和YL的2个抽取补丁v和s的相似性。

(,)为馀弦相似度。rs ) y1)表示属于s以外的y 1的r。 h和e是两个正常的数。

如果v比YL中的其他神经斑块相似,则RS(V,s )会变大。

ID-MRF损失通过引用最基本相似的面片来增强局部图像的细节。

4.3情景电阻抗损失输入预测定义如下:

d context ( (),表示最大池化运算符,对SRN将全局/上下文抵抗性损失定义如下。

最终的网络模型如下

分别用于平衡回归、局部结构正则化和抗性训练之间的系数。

5 :代码实现https://github.com/shep nerd/out painting _ srn

Key components

smallto-largeschemecontextnormalizationrelativespatialvariantlossprerequisites

python3.5(orhigher ) tensorflow1.6 ) orlaterversions、

excluding 2.x) with NVIDIA GPU or CPUOpenCVnumpyscipyeasydict

测试:
下载CelebA-HQ的预训练模型,并且把他们解压到checkpoints下,命名为celebahq-srn-subpixel文件夹,三个文件都要下

CelebA-HQ_256 examples in the imgs/celebahq-256/. 举个例子

python test.py --dataset celebahq-256 --data_file ./imgs/celebahq-256/ --load_model_dir ./checkpoints/celebahq-srn-subpixel --random_mask 1 --model srn

结果最后都会被保存在 ./test_results/.

训练:
首先是重建损失(set the opinion --pretrain_network 1),然后是fine-tuning模型带着所有的损失函数(–pretrain_network 0 and --load_model_dir [Your model path])

两个过程之后来准备预训练网络,

python train.py --dataset [DATASET_NAME] --data_file [DATASET_TRAININGFILE] --gpu_ids [NUM] --pretrain_network 1 --batch_size 16

[DATASET_TRAININGFILE] 包含了一个存储所有训练图片路径的文件.举个例子:

python train.py --dataset celebahq-256 --data_file …/celebahq-256_train.txt --gpu_ids 0 --img_shapes 256,256 --pretrain_network 1 --batch_size 8

接着是fineture网络

python train.py --dataset [DATASET_NAME] --data_file [DATASET_TRAININGFILE] --gpu_ids [NUM] --pretrain_network 0 --load_model_dir [PRETRAINED_MODEL_PATH] --batch_size 8

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。