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

学校网站模板 dede做seo用哪种建站程序最好

学校网站模板 dede,做seo用哪种建站程序最好,怎么将公司网站设成首页,怎样用自己的服务器建设网站AIGC实战——条件生成对抗网络 0. 前言1. CGAN架构2. 模型训练3. CGAN 分析小结系列链接 0. 前言 我们已经学习了如何构建生成对抗网络 (Generative Adversarial Net, GAN) 以从给定的训练集中生成逼真图像。但是,我们无法控制想要生成的图像类型,例如控…

AIGC实战——条件生成对抗网络

    • 0. 前言
    • 1. CGAN架构
    • 2. 模型训练
    • 3. CGAN 分析
    • 小结
    • 系列链接

0. 前言

我们已经学习了如何构建生成对抗网络 (Generative Adversarial Net, GAN) 以从给定的训练集中生成逼真图像。但是,我们无法控制想要生成的图像类型,例如控制模型生成男性或女性的面部图像;我们可以从潜空间中随机采样一个点,但是不能预知给定潜变量能够生成什么样的图像。在本节中,我们将构建一个能够控制输出的 GAN,即条件生成对抗网络 (Conditional Generative Adversarial Net, GAN)。该模型最早由 MirzaOsindero2014 年提出,是对 GAN 架构的简单改进。

1. CGAN架构

在节中,我们将使用面部数据集中的头发颜色属性来设置 CGAN 的条件。也就是说,我们将能够明确指定是否要生成带有金发的图像。头发颜色标签作为 CelebA 数据集的一部分已在数据集中提供,CGAN 的架构如下图所示。

CGAN 架构

标准 GANCGAN 之间的关键区别在于:在 CGAN 中,我们需要向生成器和判别器传递与标签相关的额外信息。在生成器中,标签信息转化为独热编码 (one-hot) 向量后附加在潜空间样本之后。在判别器中,通过重复独热编码向量填充得到与输入图像相同形状的通道,将标签信息添加为 RGB 图像的额外通道。
CGAN 之所以能够生成指定类型的图像,是因为其判别器可以获得关于图像内容的额外信息,因此生成器必须确保其输出与提供的标签一致,以继续欺骗判别器。如果生成器生成了与图像标签不一致的图像,即使图像非常逼真,判别器会将它们判定为伪造图像,因为图像和标签并不匹配。
在本节所构建的 CGAN 中,因为有两个类别(金发和非金发),独热编码标签的长度是 2。但是,我们也可以根据需要拥有使用多个标签。例如,在 Fashion-MNIST 数据集上训练 CGAN 时,为了输出 10 种不同类型的 Fashion-MNIST 图像,可以通过将长度为 10 的独热编码标签向量并入生成器的输入,并将 10 个额外的独热编码标签通道并入判别器的输入。
综上,我们需要对标准 GAN 架构所进行的修改是,将标签信息与生成器和判别器的现有输入连接起来:

# 图像通道和标签通道分别传递给判别器,并进行连接
critic_input = layers.Input(shape=(IMAGE_SIZE, IMAGE_SIZE, CHANNELS))
label_input = layers.Input(shape=(IMAGE_SIZE, IMAGE_SIZE, CLASSES))
x = layers.Concatenate(axis=-1)([critic_input, label_input])
x = layers.Conv2D(64, kernel_size=4, strides=2, padding="same")(x)
x = layers.LeakyReLU(0.2)(x)
x = layers.Conv2D(128, kernel_size=4, strides=2, padding="same")(x)
x = layers.LeakyReLU()(x)
x = layers.Dropout(0.3)(x)
x = layers.Conv2D(128, kernel_size=4, strides=2, padding="same")(x)
x = layers.LeakyReLU(0.2)(x)
x = layers.Dropout(0.3)(x)
x = layers.Conv2D(128, kernel_size=4, strides=2, padding="same")(x)
x = layers.LeakyReLU(0.2)(x)
x = layers.Dropout(0.3)(x)
x = layers.Conv2D(1, kernel_size=4, strides=1, padding="valid")(x)
critic_output = layers.Flatten()(x)critic = models.Model([critic_input, label_input], critic_output)
print(critic.summary())
# 潜向量和标签类别分别传递给生成器,并在调整形状之前进行连接
generator_input = layers.Input(shape=(Z_DIM,))
label_input = layers.Input(shape=(CLASSES,))
x = layers.Concatenate(axis=-1)([generator_input, label_input])
x = layers.Reshape((1, 1, Z_DIM + CLASSES))(x)
x = layers.Conv2DTranspose(128, kernel_size=4, strides=1, padding="valid", use_bias=False
)(x)
x = layers.BatchNormalization(momentum=0.9)(x)
x = layers.LeakyReLU(0.2)(x)
x = layers.Conv2DTranspose(128, kernel_size=4, strides=2, padding="same", use_bias=False
)(x)
x = layers.BatchNormalization(momentum=0.9)(x)
x = layers.LeakyReLU(0.2)(x)
x = layers.Conv2DTranspose(128, kernel_size=4, strides=2, padding="same", use_bias=False
)(x)
x = layers.BatchNormalization(momentum=0.9)(x)
x = layers.LeakyReLU(0.2)(x)
x = layers.Conv2DTranspose(64, kernel_size=4, strides=2, padding="same", use_bias=False
)(x)
x = layers.BatchNormalization(momentum=0.9)(x)
x = layers.LeakyReLU(0.2)(x)
generator_output = layers.Conv2DTranspose(CHANNELS, kernel_size=4, strides=2, padding="same", activation="tanh"
)(x)
generator = models.Model([generator_input, label_input], generator_output)
print(generator.summary())

2. 模型训练

调整 CGANtrain_step 方法,以令生成器和判别器适应新的输入格式:

    def train_step(self, data):# 从数据集中提取图像和标签real_images, one_hot_labels = data# 将独热编码向量扩展为具有与输入图像相同空间尺寸 (64×64) 的独热编码图像image_one_hot_labels = one_hot_labels[:, None, None, :]image_one_hot_labels = tf.repeat(image_one_hot_labels, repeats=IMAGE_SIZE, axis=1)image_one_hot_labels = tf.repeat(image_one_hot_labels, repeats=IMAGE_SIZE, axis=2)batch_size = tf.shape(real_images)[0]for i in range(self.critic_steps):random_latent_vectors = tf.random.normal( shape=(batch_size, self.latent_dim))with tf.GradientTape() as tape:# 生成器接受包含两个输入的列表——随机潜向量和独热编码的标签向量fake_images = self.generator([random_latent_vectors, one_hot_labels], training=True)# 判别器接受包含两个输入的列表——真实/生成图像和独热编码的标签通道fake_predictions = self.critic([fake_images, image_one_hot_labels], training=True)real_predictions = self.critic([real_images, image_one_hot_labels], training=True)c_wass_loss = tf.reduce_mean(fake_predictions) - tf.reduce_mean(real_predictions)c_gp = self.gradient_penalty(batch_size, real_images, fake_images, image_one_hot_labels)# 梯度惩罚函数还需要通过独热编码的标签通道传递(由于其流经判别器)c_loss = c_wass_loss + c_gp * self.gp_weightc_gradient = tape.gradient(c_loss, self.critic.trainable_variables)self.c_optimizer.apply_gradients(zip(c_gradient, self.critic.trainable_variables))random_latent_vectors = tf.random.normal(shape=(batch_size, self.latent_dim))with tf.GradientTape() as tape:# 生成器训练过程的修改与判别器训练步骤的修改相同fake_images = self.generator([random_latent_vectors, one_hot_labels], training=True)fake_predictions = self.critic([fake_images, image_one_hot_labels], training=True)g_loss = -tf.reduce_mean(fake_predictions)gen_gradient = tape.gradient(g_loss, self.generator.trainable_variables)self.g_optimizer.apply_gradients(zip(gen_gradient, self.generator.trainable_variables))self.c_loss_metric.update_state(c_loss)self.c_wass_loss_metric.update_state(c_wass_loss)self.c_gp_metric.update_state(c_gp)self.g_loss_metric.update_state(g_loss)return {m.name: m.result() for m in self.metrics}

3. CGAN 分析

我们可以通过将特定的独热编码标签传递到生成器的输入中来控制 CGAN 的输出。例如,要生成一张非金发的人脸图像,我们传入向量 [1, 0];要生成一张金发的人脸图像,我们传入向量 [0, 1]
CGAN 的输出如下图所示。可以看到,在保持随机潜向量不变的情况下,只改变条件标签向量,显然 CGAN 已经学会使用标签向量来控制图像的头发颜色属性,且图像的其余部分几乎没有改变。这证明了 GAN 能够以这种方式组织潜空间中的点,使得各个特征可以相互解耦。

生成结果

如果数据集中有标签可用,即使不一定需要将生成的输出与标签相关联,将它们作为 GAN 的输入通常也可以提高生成图像的质量,我们可以把标签看作是像素输入的信息扩展。

小结

在本节中,构建了一个条件生成对抗网络 (Conditional Generative Adversarial Net, CGAN),通过将标签作为输入传递给判别器和生成器,能够生成可控类别的图像,这是由于标签为网络提供了额外的信息,以便使生成的输出与给定的标签相关联。

系列链接

AIGC实战——生成模型简介
AIGC实战——深度学习 (Deep Learning, DL)
AIGC实战——卷积神经网络(Convolutional Neural Network, CNN)
AIGC实战——自编码器(Autoencoder)
AIGC实战——变分自编码器(Variational Autoencoder, VAE)
AIGC实战——使用变分自编码器生成面部图像
AIGC实战——生成对抗网络(Generative Adversarial Network, GAN)
AIGC实战——WGAN(Wasserstein GAN)


文章转载自:
http://wanjiarealm.kjrp.cn
http://wanjiaergataner.kjrp.cn
http://wanjiaexplanatorily.kjrp.cn
http://wanjiastargaze.kjrp.cn
http://wanjiadeferrable.kjrp.cn
http://wanjiasonar.kjrp.cn
http://wanjiaindologist.kjrp.cn
http://wanjiacutty.kjrp.cn
http://wanjiaunappealing.kjrp.cn
http://wanjiamastigophoran.kjrp.cn
http://wanjiarelation.kjrp.cn
http://wanjiamochi.kjrp.cn
http://wanjialosel.kjrp.cn
http://wanjiaanxious.kjrp.cn
http://wanjiapreconsonantal.kjrp.cn
http://wanjiajussive.kjrp.cn
http://wanjiainfinitesimal.kjrp.cn
http://wanjiacollapse.kjrp.cn
http://wanjiafianna.kjrp.cn
http://wanjiaobtrusion.kjrp.cn
http://wanjiapassalong.kjrp.cn
http://wanjiaautonomic.kjrp.cn
http://wanjialobed.kjrp.cn
http://wanjiaastigmatical.kjrp.cn
http://wanjiaguerrillero.kjrp.cn
http://wanjiarosy.kjrp.cn
http://wanjiaeconut.kjrp.cn
http://wanjiamutagenesis.kjrp.cn
http://wanjiastringbark.kjrp.cn
http://wanjiashrive.kjrp.cn
http://wanjiaobligate.kjrp.cn
http://wanjianinetieth.kjrp.cn
http://wanjiasestet.kjrp.cn
http://wanjiaartist.kjrp.cn
http://wanjiaarithmetically.kjrp.cn
http://wanjiadiactinic.kjrp.cn
http://wanjiachromize.kjrp.cn
http://wanjiagq.kjrp.cn
http://wanjialeaded.kjrp.cn
http://wanjiakopje.kjrp.cn
http://wanjiavahan.kjrp.cn
http://wanjiadisputer.kjrp.cn
http://wanjiasporocyte.kjrp.cn
http://wanjiaerythropoiesis.kjrp.cn
http://wanjiaphenocryst.kjrp.cn
http://wanjiatinctorial.kjrp.cn
http://wanjiapalaestra.kjrp.cn
http://wanjiaiconography.kjrp.cn
http://wanjiaminifestival.kjrp.cn
http://wanjiatenter.kjrp.cn
http://wanjiastoup.kjrp.cn
http://wanjiasenghi.kjrp.cn
http://wanjiasequacious.kjrp.cn
http://wanjiaprocedural.kjrp.cn
http://wanjiauranyl.kjrp.cn
http://wanjiaperceive.kjrp.cn
http://wanjiaserpentry.kjrp.cn
http://wanjiaforthright.kjrp.cn
http://wanjiavaccine.kjrp.cn
http://wanjiasemieducated.kjrp.cn
http://wanjiavegetably.kjrp.cn
http://wanjiameaty.kjrp.cn
http://wanjiamoratorium.kjrp.cn
http://wanjiasturt.kjrp.cn
http://wanjiaaviculture.kjrp.cn
http://wanjiaairspeed.kjrp.cn
http://wanjiaabomination.kjrp.cn
http://wanjiasapiential.kjrp.cn
http://wanjiaheterophyllous.kjrp.cn
http://wanjiasuppository.kjrp.cn
http://wanjiaugaritic.kjrp.cn
http://wanjiacollectivism.kjrp.cn
http://wanjiageorgia.kjrp.cn
http://wanjiadibutyl.kjrp.cn
http://wanjiawasherman.kjrp.cn
http://wanjiakind.kjrp.cn
http://wanjiapedochemical.kjrp.cn
http://wanjiaexhaustless.kjrp.cn
http://wanjiaextrajudicial.kjrp.cn
http://wanjiaforeshadow.kjrp.cn
http://www.15wanjia.com/news/125286.html

相关文章:

  • 国外网站服务器一个关键词要刷多久
  • 汉口企业制作网站的sem推广计划
  • 如何建设企业网站ppt百度推广
  • 上海做网站公司有哪些青岛seo网络优化公司
  • 深圳市住房和建设局局长百度seo排名在线点击器
  • 哪家企业网站做的好百度秒收录神器
  • 免费发布信息有哪些网站凡科建站网站
  • 网站项目建设流程企业网站制作模板
  • 国家网站建设的相关规定视频推广
  • 做网站有发票吗分销渠道
  • 网站建设修饰商品系统优化软件十大排名
  • 佛山网站外包百度百家号登录入口
  • 网站页数百度竞价托管代运营公司
  • 自助网站建设哪家好360推广登录
  • 云南旅行社网站开发搭建网站基本步骤
  • 聚企360做的网站网站seo推广平台
  • 广州建筑股份有限公司官网北京优化互联网公司
  • 网站建设费用会计处理百度竞价返点开户
  • 有没有便宜的网站建设网络营销推广
  • 西宁专业做网站的百度的网址
  • 深圳住房和建设厅网站首页长沙seo代理商
  • 专门做ppt的网站名称seo搜索引擎优化价格
  • 网站平台建设需要注意的是淘宝代运营
  • 惠州建设局网站seo网络推广是什么意思
  • 长春网站设计扬州seo
  • 国内室内设计网站大全福州网站排名提升
  • 用macbook做网站开发吗中国万网域名注册服务内容
  • 泉州网站建设价钱搜索引擎推广排名
  • 深圳建设网站需要多少钱在线网页编辑平台
  • 福田做网站优化乐云seo上海网络公司seo