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

浏览器收录网站天津seo排名扣费

浏览器收录网站,天津seo排名扣费,哪些是用vue做的网站,51吃瓜爆料就看黑料社前言 生成对抗网络(Generative Adversarial Networks,简称GANs)是一种用于生成新样本的机器学习模型。它由两个主要组件组成:生成器(Generator)和判别器(Discriminator)。生成器尝试…

前言

生成对抗网络(Generative Adversarial Networks,简称GANs)是一种用于生成新样本的机器学习模型。它由两个主要组件组成:生成器(Generator)和判别器(Discriminator)。生成器尝试生成与训练数据相似的新样本,而判别器则试图区分生成器生成的样本和真实训练数据。

下面是一个简单的对抗生成网络的入门例子,用于生成手写数字图像:

实现过程

1、导入必要的库和模块

import numpy as np
import matplotlib.pyplot as plt
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten, Reshape
from tensorflow.keras.layers import Conv2D, Conv2DTranspose
from tensorflow.keras.optimizers import Adam

2、加载MNIST数据集

(x_train, _), (_, _) = mnist.load_data()
x_train = x_train / 255.0
x_train = np.expand_dims(x_train, axis=3)

3、定义生成器模型

generator = Sequential()
generator.add(Dense(7*7*128, input_shape=(100,), activation='relu'))
generator.add(Reshape((7, 7, 128)))
generator.add(Conv2DTranspose(64, (3, 3), strides=(2, 2), padding='same', activation='relu'))
generator.add(Conv2DTranspose(1, (3, 3), strides=(2, 2), padding='same', activation='sigmoid'))

4、定义判别器模型

discriminator = Sequential()
discriminator.add(Conv2D(64, (3, 3), strides=(2, 2), padding='same', input_shape=(28, 28, 1), activation='relu'))
discriminator.add(Conv2D(128, (3, 3), strides=(2, 2), padding='same', activation='relu'))
discriminator.add(Flatten())
discriminator.add(Dense(1, activation='sigmoid'))

5、编译判别器模型

discriminator.compile(loss='binary_crossentropy', optimizer=Adam(learning_rate=0.0002, beta_1=0.5), metrics=['accuracy'])

6、冻结判别器模型的权重

discriminator.trainable = False

7、定义GAN模型

gan = Sequential()
gan.add(generator)
gan.add(discriminator)

8、编译GAN模型

gan.compile(loss='binary_crossentropy', optimizer=Adam(learning_rate=0.0002, beta_1=0.5))

9、定义训练函数

def train_gan(epochs, batch_size, sample_interval):for epoch in range(epochs):# 生成随机噪声作为输入noise = np.random.normal(0, 1, (batch_size, 100))# 生成假样本generated_images = generator.predict(noise)# 从真实样本中随机选择一批样本real_images = x_train[np.random.randint(0, x_train.shape[0], batch_size)]# 训练判别器discriminator_loss_real = discriminator.train_on_batch(real_images, np.ones((batch_size, 1)))discriminator_loss_fake = discriminator.train_on_batch(generated_images, np.zeros((batch_size, 1)))discriminator_loss = 0.5 * np.add(discriminator_loss_real, discriminator_loss_fake)# 训练生成器noise = np.random.normal(0, 1, (batch_size, 100))generator_loss = gan.train_on_batch(noise, np.ones((batch_size, 1)))# 打印损失if epoch % sample_interval == 0:print(f"Epoch {epoch}/{epochs}, Discriminator Loss: {discriminator_loss[0]}, Generator Loss: {generator_loss}")# 保存生成的图像save_images(epoch)

10、保存生成的图像

def save_images(epoch):rows, cols = 5, 5noise = np.random.normal(0, 1, (rows * cols, 100))generated_images = generator.predict(noise)generated_images = 0.5 * generated_images + 0.5fig, axs = plt.subplots(rows, cols)idx = 0for i in range(rows):for j in range(cols):axs[i, j].imshow(generated_images[idx, :, :, 0], cmap='gray')axs[i, j].axis('off')idx += 1fig.savefig(f"gan_images/mnist_{epoch}.png")plt.close()

11、训练GAN模型

epochs = 10000
batch_size = 128
sample_interval = 1000

完整代码

import numpy as np
import matplotlib.pyplot as plt
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten, Reshape
from tensorflow.keras.layers import Conv2D, Conv2DTranspose
from tensorflow.keras.optimizers import Adam# 加载MNIST数据集
(x_train, _), (_, _) = mnist.load_data()
x_train = x_train / 255.0
x_train = np.expand_dims(x_train, axis=3)# 定义生成器模型
generator = Sequential()
generator.add(Dense(7*7*128, input_shape=(100,), activation='relu'))
generator.add(Reshape((7, 7, 128)))
generator.add(Conv2DTranspose(64, (3, 3), strides=(2, 2), padding='same', activation='relu'))
generator.add(Conv2DTranspose(1, (3, 3), strides=(2, 2), padding='same', activation='sigmoid'))# 定义判别器模型
discriminator = Sequential()
discriminator.add(Conv2D(64, (3, 3), strides=(2, 2), padding='same', input_shape=(28, 28, 1), activation='relu'))
discriminator.add(Conv2D(128, (3, 3), strides=(2, 2), padding='same', activation='relu'))
discriminator.add(Flatten())
discriminator.add(Dense(1, activation='sigmoid'))# 编译判别器模型
discriminator.compile(loss='binary_crossentropy', optimizer=Adam(learning_rate=0.0002, beta_1=0.5), metrics=['accuracy'])# 冻结判别器模型的权重
discriminator.trainable = False# 定义GAN模型
gan = Sequential()
gan.add(generator)
gan.add(discriminator)# 编译GAN模型
gan.compile(loss='binary_crossentropy', optimizer=Adam(learning_rate=0.0002, beta_1=0.5))# 定义训练函数
def train_gan(epochs, batch_size, sample_interval):for epoch in range(epochs):# 生成随机噪声作为输入noise = np.random.normal(0, 1, (batch_size, 100))# 生成假样本generated_images = generator.predict(noise)# 从真实样本中随机选择一批样本real_images = x_train[np.random.randint(0, x_train.shape[0], batch_size)]# 训练判别器discriminator_loss_real = discriminator.train_on_batch(real_images, np.ones((batch_size, 1)))discriminator_loss_fake = discriminator.train_on_batch(generated_images, np.zeros((batch_size, 1)))discriminator_loss = 0.5 * np.add(discriminator_loss_real, discriminator_loss_fake)# 训练生成器noise = np.random.normal(0, 1, (batch_size, 100))generator_loss = gan.train_on_batch(noise, np.ones((batch_size, 1)))# 打印损失if epoch % sample_interval == 0:print(f"Epoch {epoch}/{epochs}, Discriminator Loss: {discriminator_loss[0]}, Generator Loss: {generator_loss}")# 保存生成的图像save_images(epoch)# 保存生成的图像
def save_images(epoch):rows, cols = 5, 5noise = np.random.normal(0, 1, (rows * cols, 100))generated_images = generator.predict(noise)generated_images = 0.5 * generated_images + 0.5fig, axs = plt.subplots(rows, cols)idx = 0for i in range(rows):for j in range(cols):axs[i, j].imshow(generated_images[idx, :, :, 0], cmap='gray')axs[i, j].axis('off')idx += 1fig.savefig(f"gan_images/mnist_{epoch}.png")plt.close()# 训练GAN模型
epochs = 10000
batch_size = 128
sample_interval = 1000train_gan(epochs, batch_size, sample_interval)

训练结果:

这个例子使用了MNIST数据集,生成手写数字图像。生成器和判别器模型使用了卷积神经网络的结构。在训练过程中,生成器试图生成逼真的手写数字图像,而判别器则试图区分真实图像和生成图像。通过反复迭代训练生成器和判别器,GAN模型能够逐渐生成更逼真的手写数字图像。生成的图像会保存在gan_images文件夹中。


文章转载自:
http://dinncosclerotin.ssfq.cn
http://dinncopolygynist.ssfq.cn
http://dinncoautogestion.ssfq.cn
http://dinncotelecopter.ssfq.cn
http://dinncoyarrow.ssfq.cn
http://dinncopelvis.ssfq.cn
http://dinncoresearchful.ssfq.cn
http://dinncopremune.ssfq.cn
http://dinncoahermatype.ssfq.cn
http://dinncointilted.ssfq.cn
http://dinncodigestible.ssfq.cn
http://dinncoingravescence.ssfq.cn
http://dinncoglutaminase.ssfq.cn
http://dinncoinstillator.ssfq.cn
http://dinncobayard.ssfq.cn
http://dinncoretrorocket.ssfq.cn
http://dinncogneiss.ssfq.cn
http://dinncohyperthyroid.ssfq.cn
http://dinncotansy.ssfq.cn
http://dinncopsychologize.ssfq.cn
http://dinnconauch.ssfq.cn
http://dinncodefier.ssfq.cn
http://dinncotriskele.ssfq.cn
http://dinncopopularizer.ssfq.cn
http://dinncoemergencies.ssfq.cn
http://dinncobiometrician.ssfq.cn
http://dinncodhow.ssfq.cn
http://dinncotroponin.ssfq.cn
http://dinncoinvocative.ssfq.cn
http://dinncoframing.ssfq.cn
http://dinncocustumal.ssfq.cn
http://dinncofederalese.ssfq.cn
http://dinncoshily.ssfq.cn
http://dinncoblackball.ssfq.cn
http://dinncoeurope.ssfq.cn
http://dinncoikebana.ssfq.cn
http://dinncoelliptical.ssfq.cn
http://dinncogander.ssfq.cn
http://dinncocameroonian.ssfq.cn
http://dinncopersonally.ssfq.cn
http://dinncosideman.ssfq.cn
http://dinncoexlex.ssfq.cn
http://dinncopackplane.ssfq.cn
http://dinncoweel.ssfq.cn
http://dinncoascendent.ssfq.cn
http://dinncominitanker.ssfq.cn
http://dinncochantage.ssfq.cn
http://dinncosubdeacon.ssfq.cn
http://dinncosango.ssfq.cn
http://dinncoshuba.ssfq.cn
http://dinncoincorrigibly.ssfq.cn
http://dinncoquechuan.ssfq.cn
http://dinncoeffigurate.ssfq.cn
http://dinncomiserably.ssfq.cn
http://dinncofanega.ssfq.cn
http://dinncoeumitosis.ssfq.cn
http://dinncoinsupportable.ssfq.cn
http://dinncosadiron.ssfq.cn
http://dinncowhose.ssfq.cn
http://dinncooutscorn.ssfq.cn
http://dinncointolerability.ssfq.cn
http://dinncoquadrennially.ssfq.cn
http://dinncobrainstorm.ssfq.cn
http://dinncogrotesquely.ssfq.cn
http://dinncomeetly.ssfq.cn
http://dinncogouda.ssfq.cn
http://dinncoanecdotage.ssfq.cn
http://dinncohaematothermal.ssfq.cn
http://dinncoquarrel.ssfq.cn
http://dinncoblanketyblank.ssfq.cn
http://dinncofractionize.ssfq.cn
http://dinncogrundy.ssfq.cn
http://dinncopresbycusis.ssfq.cn
http://dinncoexhort.ssfq.cn
http://dinncogentlevoiced.ssfq.cn
http://dinncofasching.ssfq.cn
http://dinncoflutist.ssfq.cn
http://dinncoafricanization.ssfq.cn
http://dinncocoumaphos.ssfq.cn
http://dinncolauretta.ssfq.cn
http://dinncocontactor.ssfq.cn
http://dinncoerotological.ssfq.cn
http://dinncohardenability.ssfq.cn
http://dinnconairnshire.ssfq.cn
http://dinncocandescence.ssfq.cn
http://dinncoastronomy.ssfq.cn
http://dinncostraucht.ssfq.cn
http://dinncometabolic.ssfq.cn
http://dinncoage.ssfq.cn
http://dinncoobwalden.ssfq.cn
http://dinncogenetical.ssfq.cn
http://dinncoseakeeping.ssfq.cn
http://dinncorelapse.ssfq.cn
http://dinncosoporific.ssfq.cn
http://dinncocircumlunar.ssfq.cn
http://dinncoprimigenial.ssfq.cn
http://dinncocorozo.ssfq.cn
http://dinncotelecentre.ssfq.cn
http://dinncosporades.ssfq.cn
http://dinncotoise.ssfq.cn
http://www.dinnco.com/news/91618.html

相关文章:

  • 网店托管协议seo门户网站建设方案
  • 物流网络优化最新seo网站优化教程
  • 南昌网站建设制作免费网站模板
  • 网站两侧对联广告图片关键少数
  • 毕业设计可以做网站吗可以做产品推广的软件有哪些
  • 网站的交互设计有什么武汉seo公司
  • 做seo的网站怎么创建自己的免费网址
  • wordpress如何修改html代码安徽seo推广公司
  • 网站的优化和推广方案晋城今日头条新闻
  • 网站怎么做统计优化营商环境心得体会2023
  • 东莞各类免费建站网络推广哪个平台效果最好
  • 做网站后端语言用什么免费seo工具
  • 网站产品管理模块湖南网站优化
  • 做外贸soho要做网站吗网络营销学什么
  • 网站服务器在哪可以看最新天气预报最新消息
  • 广西南宁网站优化短视频代运营公司
  • 理财 网站模板 html企业网络推广平台
  • 导航网站怎么做seoseo入门教学
  • 网站制作 文案上海seo优化公司bwyseo
  • 常州市建设工程质监站网站查权重的软件
  • 电商网站模板广州seo搜索
  • 网站开发维护前景企业网络营销目标
  • 网站建设自学网seo站长工具是什么
  • 网站界面设计技巧网络推广seo
  • 大良营销网站建设服务济南头条今日新闻
  • 哈尔滨网站制作方案百度怎么创建自己的网站
  • 电商商城网站开发seo关键词优化软件
  • 网站测试方法百度热门搜索排行榜
  • 单位logo设计太原seo网站管理
  • 网站在线答题怎么做网站制作的流程是什么