当前位置: 首页 > news >正文

威海西郊建设集团网站简单个人网站源码

威海西郊建设集团网站,简单个人网站源码,北京微网站建设公司,虚拟云主机 wordpress#x1f368; 本文为#x1f517;365天深度学习训练营 中的学习记录博客#x1f356; 原作者#xff1a;K同学啊 基于生成对抗网络#xff08;GAN#xff09;人脸图像生成 这周将构建并训练一个生成对抗网络#xff08;GAN#xff09;来生成人脸图像。 GAN 原理概述 … 本文为365天深度学习训练营 中的学习记录博客 原作者K同学啊 基于生成对抗网络GAN人脸图像生成 这周将构建并训练一个生成对抗网络GAN来生成人脸图像。 GAN 原理概述 生成对抗网络通过两个神经网络的对抗性结构来实现目标 生成器G输入随机噪声通过学习数据的分布模式生成类似真实图像的输出。判别器D用来判断输入的图像是真实的还是生成器生成的。 训练过程中生成器尝试欺骗判别器生成逼真的图像而判别器则不断优化以区分真实图像与生成图像。这种对抗过程最终使生成器的生成能力逐渐逼近真实图像。 环境准备 首先导入相关库并设置随机种子以确保结果的可复现性。 import random import os import torch import torch.nn as nn import torch.optim as optim import torch.utils.data import torchvision.datasets as dset import torchvision.transforms as transforms import torchvision.utils as vutils import matplotlib.pyplot as plt import numpy as np超参数设置 在训练GAN之前首先定义一些关键的超参数 batch_size每个批次的样本数。image_size图像的大小用于调整输入数据的尺寸。nz潜在向量大小即生成器的输入维度。ngf 和 ndf分别控制生成器和判别器中的特征图数量。num_epochs训练的总轮数。lr学习率。 batch_size 128 image_size 64 nz 100 ngf 64 ndf 64 num_epochs 50 lr 0.0002 beta1 0.5数据加载 通过torchvision.datasets.ImageFolder加载数据并使用 torch.utils.data.DataLoader 进行批量处理。数据加载时通过转换函数调整图像大小并对其进行归一化处理。 dataroot data/GANdata dataset dset.ImageFolder(rootdataroot,transformtransforms.Compose([transforms.Resize(image_size),transforms.CenterCrop(image_size),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),])) dataloader torch.utils.data.DataLoader(dataset, batch_sizebatch_size, shuffleTrue)网络结构定义 1. 生成器 生成器将随机噪声潜在向量通过一系列转置卷积层转换为图像。每层使用ReLU激活函数最后一层用Tanh激活函数将输出限制在 [-1, 1]。 class Generator(nn.Module):def __init__(self):super(Generator, self).__init__()self.main nn.Sequential(nn.ConvTranspose2d(nz, ngf * 8, 4, 1, 0, biasFalse),nn.BatchNorm2d(ngf * 8),nn.ReLU(True),nn.ConvTranspose2d(ngf * 8, ngf * 4, 4, 2, 1, biasFalse),nn.BatchNorm2d(ngf * 4),nn.ReLU(True),nn.ConvTranspose2d(ngf * 4, ngf * 2, 4, 2, 1, biasFalse),nn.BatchNorm2d(ngf * 2),nn.ReLU(True),nn.ConvTranspose2d(ngf * 2, ngf, 4, 2, 1, biasFalse),nn.BatchNorm2d(ngf),nn.ReLU(True),nn.ConvTranspose2d(ngf, 3, 4, 2, 1, biasFalse),nn.Tanh())def forward(self, input):return self.main(input)2. 判别器 判别器为卷积网络通过一系列卷积层提取图像特征。每层使用LeakyReLU激活函数最终输出一个值真实为1生成为0。 class Discriminator(nn.Module):def __init__(self):super(Discriminator, self).__init__()self.main nn.Sequential(nn.Conv2d(3, ndf, 4, 2, 1, biasFalse),nn.LeakyReLU(0.2, inplaceTrue),nn.Conv2d(ndf, ndf * 2, 4, 2, 1, biasFalse),nn.BatchNorm2d(ndf * 2),nn.LeakyReLU(0.2, inplaceTrue),nn.Conv2d(ndf * 2, ndf * 4, 4, 2, 1, biasFalse),nn.BatchNorm2d(ndf * 4),nn.LeakyReLU(0.2, inplaceTrue),nn.Conv2d(ndf * 4, ndf * 8, 4, 2, 1, biasFalse),nn.BatchNorm2d(ndf * 8),nn.LeakyReLU(0.2, inplaceTrue),nn.Conv2d(ndf * 8, 1, 4, 1, 0, biasFalse),nn.Sigmoid())def forward(self, input):return self.main(input)训练过程 训练分为两个部分判别器和生成器的更新。 1. 判别器的训练 判别器首先接收真实图像样本计算输出与真实标签的误差。然后判别器接收生成器生成的假图像再计算输出与假标签的误差。最终判别器的损失是两者的总和。 output netD(real_cpu).view(-1) errD_real criterion(output, label) errD_real.backward()fake netG(noise) output netD(fake.detach()).view(-1) errD_fake criterion(output, label.fill_(fake_label)) errD_fake.backward()2. 生成器的训练 生成器的目标是欺骗判别器因此其损失函数基于判别器将生成图像误识为真实的概率值。 output netD(fake).view(-1) errG criterion(output, label.fill_(real_label)) errG.backward()训练监控与可视化 训练时我们记录生成器和判别器的损失并生成一些样本图像来查看生成器的效果。 plt.figure(figsize(10, 5)) plt.title(Generator and Discriminator Loss During Training) plt.plot(G_losses, labelG) plt.plot(D_losses, labelD) plt.xlabel(iterations) plt.ylabel(Loss) plt.legend() plt.savefig(Generator and Discriminator Loss During Training.png)结果可视化 训练结束后我们将真实图像与生成图像对比以检验生成器的效果。 plt.figure(figsize(15, 15)) plt.subplot(1, 2, 1) plt.axis(off) plt.title(Real Images) plt.imshow(np.transpose(vutils.make_grid(real_batch[0].to(device)[:64], padding5, normalizeTrue).cpu(), (1, 2, 0)))plt.subplot(1, 2, 2) plt.axis(off) plt.title(Fake Images) plt.imshow(np.transpose(img_list[-1], (1, 2, 0))) plt.savefig(Fake Images.png) plt.show()总结 这周学习构建了一个深度卷积生成对抗网络DCGAN用于生成逼真的人脸图像通过这周学习对对抗网路的构建有了更深的了解与运用
http://www.hkea.cn/news/14256663/

相关文章:

  • 网站里的图片是怎么做的自己如何做企业网站
  • jsp mysql 网站开发2023年6月份又封城了
  • 国内做的比较大的外贸电商网站建设网站的功能及目的
  • 上街三屏网站建设无锡网站建设 无锡和诚科技
  • 网站建设的3个阶段免费搭建淘宝客网站
  • 自己有域名怎么做免费网站小工具文本wordpress
  • 网站建设三把火科技深圳网站建设收费
  • vs和sql做购物网站江苏网站建设开发
  • 大型网站开发 优帮云wordpress寻模板
  • 如何进行网站营销精品网名
  • 网站的设计思路怎么写多语言外贸网站源码
  • 海南行指专业网站开发百度统计手机app
  • 个人备案网站做企业会怎样网站建设淘宝店铺模板
  • 宜昌网站推广网站名字怎么取最好
  • 做直播网站宽带免费网站怎么申请
  • 东莞设计网站推荐网站设计制作报价
  • 个人网站建设存在哪些问题长沙人才招聘网
  • 网站建设毕业实习报告广州专业网站制作平台
  • 如何创立自己的网站陆丰网站建设
  • 网站建设用宝塔工程建设合同范本
  • 无人机网站建设培训网站视频不能拖动怎么办
  • 从事网站建设淘宝如何做推广
  • 宁波正规品牌网站设计免费建站的站点网站
  • 网站开发文档有哪些南京市的网站是由那几家公司做的
  • 做网站前景网上写作文的网站
  • 三合一网站建设 万网北京网站如何制作
  • 杭州网站制作专业网站自适应 如何做
  • 海南做网站的公司做网站在哪接单
  • 企业网站 带后台基于php技术的网站开发
  • 怎么做进入网站js特效项城网站设计