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

集团网站建设江苏常州烽火台网络推广

集团网站建设,江苏常州烽火台网络推广,速贝网站友情链接怎么做,长春最新发布信息获取pdf#xff1a;密码7281 文章目录一#xff1a;数据集介绍二#xff1a;GAN简介#xff08;1#xff09;简介#xff08;2#xff09;损失函数三#xff1a;代码编写#xff08;1#xff09;参数及数据预处理#xff08;2#xff09;生成器与判别器模型#x…获取pdf密码7281 文章目录一数据集介绍二GAN简介1简介2损失函数三代码编写1参数及数据预处理2生成器与判别器模型3优化器和损失函数4训练三效果查看1tensorboard2生成图片效果一数据集介绍 MNIST数据集MNIST是个手写数字图片集每张图片都做了归一化处理大小是28x28并且是灰度图像所以每张图像格式为1x28x28 数据集下载地址 包括如下四个文件 含义如下 类别文件名描述训练集图片train-images-idx3-ubyte.gz9.9M包含60000个样本训练集标签train-labels-idx1-ubyte.gz29KB包含60000个标签测试集图片t10k-images-idx3-ubyte.gz1.6M包含10000个样本测试集标签t10k-labels-idx1-ubyte.gz5KB包含10000个样本 当然torchvision.datasets中也内置了这个数据集可以通过如下代码从网络上下载 train_data dataset.MNIST(root./mnist/,trainTrue,transformtransforms.ToTensor(),downloadTrue) test_data dataset.MNIST(root./mnist/,trainFalse,transformtransforms.ToTensor(),downloadFalse)root表示数据集待存放的目录train如果为true将会使用训练集的数据集training.pt如果为false将会使用测试集数据集test.ptdownload如果为true将会从网络上下载并放入root中如果数据集已下载则不会再次下载transform接受PIL图片并返回转换后的图片常用的就是转换为tensor这里便会调用torchvision.transform 数据集加载成功后文件布局如下 二GAN简介 1简介 GAN(Generative Adversial Nets生成式对抗网络)这是一种深度学习模型是近年来复杂分布上无监督学习最具前景的方法之一。模型有两个模型生成模型Generative Model和辨别模型Discriminative Model的互相博弈学习产生相当好的输出。实际使用时一般会选择DNN作为G和D 如下图以论文中所述的制作假钞的例子为例进行说明 生成模型G的目的是尽量能够生成足以以假乱真的假钞去欺骗判别模型D让它以为这是真钞判别模型D的目的是尽量能够鉴别出生成模型G生成的假钞是假的 2损失函数 GAN损失函数如下 其中参数含义如下 xxx真实的数据样本zzz噪声从随机分布采集的样本GGG生成模型DDD判别模型G(z)G(z)G(z)输入噪声生成一条样本D(x)D(x)D(x)判别真实样本是否来自真实数据如果是则为1如果不是则为0D(G(z))D(G(z))D(G(z))判别生成样本是否来自真实数据如果是则为1如果不是则为0 该损失函数整体分为两个部分 第一部分给定GGG找到使VVV最大化的DDD因为使VVV最大化的DDD会使判别器效果最好 对于①判别器的输入为真实数据xxxEx∼pdata[logD(x)]E_{x}\sim p_{data}[logD(x)]Ex​∼pdata​[logD(x)]值越大表示判别器认为输入xxx为真实数据的概率越大也即表示判别器的能力越强所以这一项输出越大对判别器越有利对于②判别器的输入伪造数据G(z)G(z)G(z)此时D(G(z))D(G(z))D(G(z))越小那么就表示判别器将此伪造数据鉴别为真实数据的概率也越小也即表示判别器的能力越强。注意此时第二项是log(1−D(G(z)))log(1-D(G(z)))log(1−D(G(z)))的期望Ex∼pdata[log(1−D(G(z)))]E_{x}\sim p_{data}[log(1-D(G(z)))]Ex​∼pdata​[log(1−D(G(z)))]。所以当判别器能力越强时D(G(z))D(G(z))D(G(z))越小同时Ex∼pdata[log(1−D(G(z)))]E_{x}\sim p_{data}[log(1-D(G(z)))]Ex​∼pdata​[log(1−D(G(z)))]也就越大 第二部分给定DDD找到使VVV最小化的GGG因为使VVV最小化的GGG会使生成器效果最好 对于①由于固定了DDD而这一部分只和DDD有关因此这一部分是常量所以可以舍去对于②判别器的输入伪造数据G(z)G(z)G(z)与上面不同的是我们期望生成器的效果要好尽可能骗过辨别器所以D(G(z))D(G(z))D(G(z))要尽可能大D(G(z))D(G(z))D(G(z))越大表示辨别器鉴定此数据为真实数据的概率越大Ex∼pdata[log(1−D(G(z)))]E_{x}\sim p_{data}[log(1-D(G(z)))]Ex​∼pdata​[log(1−D(G(z)))]也就越小 三代码编写 1参数及数据预处理 # 设备 device cuda if torch.cuda.is_available() else cpu if device cuda:print(GPU上运行) else:print(CPU上运行) # 图片格式 img_size [1, 28, 28]# batchsize batchsize 64# latent_dim latent_dim 100# 数据集及变化 data_transforms transforms.Compose([transforms.Resize(28),transforms.ToTensor(),transforms.Normalize([0.5], [0.5])] ) dataset torchvision.datasets.MNIST(root~/autodl-tmp/dataset, trainTrue, downloadFalse, transformdata_transforms)2生成器与判别器模型 # 生成器模型根据输入生成图像 class Generator(nn.Module):def __init__(self):super(Generator, self).__init__()def block(in_feat, out_feat, normalizeTrue):layers [nn.Linear(in_feat, out_feat)]if normalize:layers.append(nn.BatchNorm1d(out_feat, 0.8))layers.append(nn.LeakyReLU(0.2, inplaceTrue))return layersself.model nn.Sequential(*block(latent_dim, 128, normalizeFalse),*block(128, 256),*block(256, 512),*block(512, 1024),nn.Linear(1024, np.prod(img_size, dtypenp.int32)),nn.Tanh())def forward(self, x):# [batchsize, latent_dim]output self.model(x)image output.reshape(x.shape[0], *img_size)return image# 判别器模型判别图像真假class Discriminator(nn.Module):def __init__(self):super(Discriminator, self).__init__()self.model nn.Sequential(nn.Linear( np.prod(img_size, dtypenp.int32), 512),nn.ReLU(inplaceTrue),nn.Linear(512, 256),nn.ReLU(inplaceTrue),nn.Linear(256, 128),nn.ReLU(inplaceTrue),nn.Linear(128, 1),nn.ReLU(inplaceTrue),nn.Sigmoid(),)def forward(self, x):# [batch_size, 1, 28, 28]x x.reshape(x.shape[0], -1)output self.model(x)return output 3优化器和损失函数 # 优化器和损失函数 generator Generator() generator generator.to(device) discriminator Discriminator() discriminator discriminator.to(device)g_optimizer torch.optim.Adam(generator.parameters(), lr0.0001) d_optimizer torch.optim.Adam(discriminator.parameters(), lr0.0001) loss_func nn.BCELoss()4训练 def train():step 0dataloader DataLoader(datasetdataset, batch_sizebatchsize, shuffleTrue, drop_lastTrue, num_workers8)for epoch in range(1, 100):print(-----------当前epoch{}-----------.format(epoch))for i, batch in enumerate(dataloader):print(-----------当前batch{}/{}-----------.format(i, (len(dataloader))))# 拿到真实图片X, _ batchX X.to(device)# 采用标准正态分布得到的batchsize × latent_dim的向量z torch.randn(batchsize, latent_dim)z z.to(device)# 送入生成器生成假图片pred_X generator(z)g_optimizer.zero_grad()生成器损失让生成的图像与通过辨别器与torch.ones(batchsize, 1)越接近越好g_loss loss_func(discriminator(pred_X), torch.ones(batchsize, 1).to(device))g_loss.backward()g_optimizer.step()d_optimizer.zero_grad()辨别器损失一方面让真实图片通过辨别器与torch.ones(batchsize, 1)越接近越好另一方面让生成图片通过辨别器与torch.zeros(batchsize, 0)越接近越好d_loss 0.5 * (loss_func(discriminator(X), torch.ones(batchsize, 1).to(device)) loss_func(discriminator(pred_X.detach()), torch.zeros(batchsize, 1).to(device)))d_loss.backward()d_optimizer.step()print(生成器损失{}.format(g_loss), 辨别器损失{}.format(d_loss))logger.add_scalar(g_loss, g_loss, step)logger.add_scalar(d_loss, d_loss, step)step step1if step % 1000 0:save_image(pred_X.data[:25], ./image_save/image_{}.png.format(step), nrow5)三效果查看 1tensorboard 2生成图片效果 每1000个step保存一次照片最后生成了92张图片每张图片由每个batch的前25张图片构成 1000-step 5000-step 10000-step 20000-step 30000-step 50000-step 70000-step 80000-step 90000-step 920000-stepfinal
http://www.ho-use.cn/article/10821877.html

相关文章:

  • 杭州装饰网站建设学生校园网站模板
  • 别人公司网站进不去wordpress相册页面
  • 建设银行个人网站显示不了制作网页链接的app
  • 网站建设288动态视频素材网站
  • 上海网站开发设计公司价格划算的东莞建网站公司
  • 做网站排行怎样在百度上发布自己的信息
  • 网站知识架构手表回收网网站
  • 青海高端网站建设公司摄影网课
  • 自己做网站的优势大网站开发语言
  • 网页设计与网站建设书籍奉贤网页设计
  • 专业郑州做网站简单的美食网站模板免费下载
  • 天津企业网络建站百度网站建设要多少钱
  • 服务器搭建网站跑不满宽带建立网站服务的公司网站
  • 电脑可以做网站服务器么lamp网站开发制作
  • 行业网站网址帐号登录
  • 中国专门做生鲜的网站网站建设公司业务跟不上
  • 怎样在网站做视频链接凌晨三点看的片韩国
  • 常州天狼网站建设wordpress章节添加章节
  • 遵义网上制作网站石家庄网站做网站
  • 做钢管用哪个门户网站建立网上商城应考虑哪些问题
  • 成都龙泉网站建设win2008 wordpress
  • mvc网站开发之美做资源网站需要什么
  • 北京市住房城乡建设行业从业人员考务网站网络公司做网站的合同
  • 网站建设方案设计设计企业网站哪家好
  • 做网站湖州中国制造网外贸平台
  • 专门做超市海报的网站做网站app是什么h行业
  • 做网站后台维护的岗位叫什么阿里指数查询官网入口
  • 网站建设公司做网站要多少费用国内外创意网站欣赏
  • 上海自适应网站制作建立网站需要哪些费用
  • 做号网站吗宁波网站建设公司哪家好