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

电子商务网站推广怎么做百度关键词排名查询接口

电子商务网站推广怎么做,百度关键词排名查询接口,深圳市公共资源交易中心工程交易,网页制作模板秋季生成对抗网络#xff08;Generative Adversarial Networks#xff0c;GANs#xff09;是一种由Ian Goodfellow等人在2014年提出的深度学习模型#xff0c;广泛用于图像生成、图像超分辨率、图像修复等领域。GAN由一个生成器#xff08;Generator#xff09;和一个判别器Generative Adversarial NetworksGANs是一种由Ian Goodfellow等人在2014年提出的深度学习模型广泛用于图像生成、图像超分辨率、图像修复等领域。GAN由一个生成器Generator和一个判别器Discriminator组成二者通过对抗训练相互提升性能。以下是关于GAN的详细介绍和代码实现示例。 一、生成对抗网络的原理 1.1 生成器Generator 生成器的目标是生成逼真的样本使得判别器无法区分生成样本和真实样本。生成器接收一个随机噪声向量通常为高斯分布或均匀分布通过一系列的神经网络层转换成逼真的数据样本。 1.2 判别器Discriminator 判别器的目标是将真实样本和生成样本区分开来。判别器是一个二分类模型输入为样本数据输出为分类概率表示输入样本是“真实”还是“生成”的概率。 1.3 对抗训练 生成器和判别器通过对抗训练来提升彼此的能力。生成器试图欺骗判别器而判别器不断提升自己的判别能力。二者的目标函数如下 生成器的损失函数使得生成样本被判别器判断为真实样本的概率最大。判别器的损失函数最大化判别真实样本和生成样本的能力。 具体的数学表达式如下 二、代码实现 我们将以MNIST数据集为例使用Keras实现一个简单的GAN模型。 2.1 导入必要的库 import numpy as np import matplotlib.pyplot as plt from keras.datasets import mnist from keras.models import Sequential, Model from keras.layers import Dense, LeakyReLU, BatchNormalization, Reshape, Flatten, Input from keras.optimizers import Adam2.2 数据预处理 加载并预处理MNIST数据集使其适用于GAN的输入。 # 加载MNIST数据集 (X_train, _), (_, _) mnist.load_data()# 归一化并reshape数据 X_train X_train / 127.5 - 1.0 X_train np.expand_dims(X_train, axis3)# 输入维度 img_shape X_train.shape[1:] z_dim 100 # 噪声向量维度2.3 构建生成器 生成器将噪声向量转换为逼真的图像。我们使用全连接层和转置卷积层实现这一过程。 def build_generator(z_dim):model Sequential()model.add(Dense(256, input_dimz_dim))model.add(LeakyReLU(alpha0.01))model.add(BatchNormalization(momentum0.8))model.add(Dense(512))model.add(LeakyReLU(alpha0.01))model.add(BatchNormalization(momentum0.8))model.add(Dense(1024))model.add(LeakyReLU(alpha0.01))model.add(BatchNormalization(momentum0.8))model.add(Dense(np.prod(img_shape), activationtanh))model.add(Reshape(img_shape))return modelgenerator build_generator(z_dim) generator.summary()2.4 构建判别器 判别器将输入图像分类为真实或生成的。我们使用卷积层和全连接层实现这一过程。 def build_discriminator(img_shape):model Sequential()model.add(Flatten(input_shapeimg_shape))model.add(Dense(512))model.add(LeakyReLU(alpha0.01))model.add(Dense(256))model.add(LeakyReLU(alpha0.01))model.add(Dense(1, activationsigmoid))return modeldiscriminator build_discriminator(img_shape) discriminator.summary()2.5 编译模型 我们为生成器和判别器选择优化器并编译判别器。 # 优化器 optimizer Adam(0.0002, 0.5)# 编译判别器 discriminator.compile(lossbinary_crossentropy,optimizeroptimizer,metrics[accuracy])2.6 构建GAN模型 我们将生成器和判别器结合起来构建完整的GAN模型并编译生成器。 # 构建生成器 z Input(shape(z_dim,)) img generator(z)# 将判别器设置为不可训练仅训练生成器 discriminator.trainable False# 判别器预测生成图像 validity discriminator(img)# 构建GAN模型 gan Model(z, validity) gan.compile(lossbinary_crossentropy, optimizeroptimizer)gan.summary()2.7 训练模型 我们定义训练过程包括生成器和判别器的训练步骤。 def train(epochs, batch_size128, sample_interval100):# 加载数据(X_train, _), (_, _) mnist.load_data()X_train X_train / 127.5 - 1.0X_train np.expand_dims(X_train, axis3)# 真实标签real np.ones((batch_size, 1))fake np.zeros((batch_size, 1))for epoch in range(epochs):# ---------------------# 训练判别器# ---------------------# 随机选择真实图像idx np.random.randint(0, X_train.shape[0], batch_size)imgs X_train[idx]# 生成噪声并生成假图像z np.random.normal(0, 1, (batch_size, z_dim))gen_imgs generator.predict(z)# 训练判别器d_loss_real discriminator.train_on_batch(imgs, real)d_loss_fake discriminator.train_on_batch(gen_imgs, fake)d_loss 0.5 * np.add(d_loss_real, d_loss_fake)# ---------------------# 训练生成器# ---------------------z np.random.normal(0, 1, (batch_size, z_dim))g_loss gan.train_on_batch(z, real)# 打印进度print(f{epoch} [D loss: {d_loss[0]} | D accuracy: {100 * d_loss[1]}] [G loss: {g_loss}])# 每隔sample_interval保存生成的图像样本if epoch % sample_interval 0:sample_images(epoch)def sample_images(epoch, image_grid_rows4, image_grid_columns4):z np.random.normal(0, 1, (image_grid_rows * image_grid_columns, z_dim))gen_imgs generator.predict(z)gen_imgs 0.5 * gen_imgs 0.5fig, axs plt.subplots(image_grid_rows, image_grid_columns, figsize(4, 4), shareyTrue, sharexTrue)cnt 0for i in range(image_grid_rows):for j in range(image_grid_columns):axs[i, j].imshow(gen_imgs[cnt, :, :, 0], cmapgray)axs[i, j].axis(off)cnt 1plt.show()2.8 开始训练 我们设置训练参数并开始训练GAN模型。 epochs 10000 batch_size 64 sample_interval 1000train(epochs, batch_size, sample_interval)2.9 详细解释代码 导入库 我们导入了Keras和其他必要的库用于构建和训练我们的GAN模型。 import numpy as np import matplotlib.pyplot as plt from keras.datasets import mnist from keras.models import Sequential, Model from keras.layers import Dense, LeakyReLU, BatchNormalization, Reshape, Flatten, Input from keras.optimizers import Adam数据预处理 我们加载MNIST数据集并对图像进行归一化处理将其范围调整到[-1, 1]以便于GAN的训练。 (X_train, _), (_, _) mnist.load_data() X_train X_train / 127.5 - 1.0 X_train np.expand_dims(X_train, axis3) img_shape X_train.shape[1:] z_dim 100构建生成器 生成器将噪声向量转换为逼真的图像。我们使用了全连接层、LeakyReLU激活函数和批归一化层来实现这一过程。 def build_generator(z_dim):model Sequential()model.add(Dense(256, input_dimz_dim))model.add(LeakyReLU(alpha0.01))model.add(BatchNormalization(momentum0.8))model.add(Dense(512))model.add(LeakyReLU(alpha0.01))model.add(BatchNormalization(momentum0.8))model.add(Dense(1024))model.add(LeakyReLU(alpha0.01))model.add(BatchNormalization(momentum0.8))model.add(Dense(np.prod(img_shape), activationtanh))model.add(Reshape(img_shape))return model构建判别器 判别器将输入图像分类为真实或生成的。我们使用了卷积层、LeakyReLU激活函数和全连接层来实现这一过程。 def build_discriminator(img_shape):model Sequential()model.add(Flatten(input_shapeimg_shape))model.add(Dense(512))model.add(LeakyReLU(alpha0.01))model.add(Dense(256))model.add(LeakyReLU(alpha0.01))model.add(Dense(1, activationsigmoid))return model编译模型 我们为生成器和判别器选择优化器并编译判别器。 optimizer Adam(0.0002, 0.5) discriminator.compile(lossbinary_crossentropy,optimizeroptimizer,metrics[accuracy])构建GAN模型 我们将生成器和判别器结合起来构建完整的GAN模型并编译生成器。 z Input(shape(z_dim,)) img generator(z) discriminator.trainable False validity discriminator(img) gan Model(z, validity) gan.compile(lossbinary_crossentropy, optimizeroptimizer)训练模型 我们定义训练过程包括生成器和判别器的训练步骤。 def train(epochs, batch_size128, sample_interval100):(X_train, _), (_, _) mnist.load_data()X_train X_train / 127.5 - 1.0X_train np.expand_dims(X_train, axis3)real np.ones((batch_size, 1))fake np.zeros((batch_size, 1))for epoch in range(epochs):idx np.random.randint(0, X_train.shape[0], batch_size)imgs X_train[idx]z np.random.normal(0, 1, (batch_size, z_dim))gen_imgs generator.predict(z)d_loss_real discriminator.train_on_batch(imgs, real)d_loss_fake discriminator.train_on_batch(gen_imgs, fake)d_loss 0.5 * np.add(d_loss_real, d_loss_fake)z np.random.normal(0, 1, (batch_size, z_dim))g_loss gan.train_on_batch(z, real)print(f{epoch} [D loss: {d_loss[0]} | D accuracy: {100 * d_loss[1]}] [G loss: {g_loss}])if epoch % sample_interval 0:sample_images(epoch)def sample_images(epoch, image_grid_rows4, image_grid_columns4):z np.random.normal(0, 1, (image_grid_rows * image_grid_columns, z_dim))gen_imgs generator.predict(z)gen_imgs 0.5 * gen_imgs 0.5fig, axs plt.subplots(image_grid_rows, image_grid_columns, figsize(4, 4), shareyTrue, sharexTrue)cnt 0for i in range(image_grid_rows):for j in range(image_grid_columns):axs[i, j].imshow(gen_imgs[cnt, :, :, 0], cmapgray)axs[i, j].axis(off)cnt 1plt.show()开始训练 我们设置训练参数并开始训练GAN模型。 epochs 10000 batch_size 64 sample_interval 1000train(epochs, batch_size, sample_interval)三、总结 通过以上代码和详细解释我们实现了一个简单的生成对抗网络模型并通过训练使生成器能够生成逼真的MNIST手写数字图像。GANs在许多领域有着广泛的应用本文只是一个起步读者可以进一步探索其在图像超分辨率、图像修复、文本生成等方面的应用。
http://www.hkea.cn/news/14299792/

相关文章:

  • 清苑区建设局网站厦门建设银行网站首页
  • seo网站监测网站模板与网站开发
  • 我想做跑腿网站怎么做桂林两江四湖简介
  • 制作网站公司服务器租赁一年的费用中山做网站比较好
  • 学做软件和网站需要知识开发网站公司名称
  • 重庆注册公司核名在哪个网站微信公众号建立网站
  • 做网站老板不发工资我拿尾款网络公司怎么挣钱的
  • 书店网站建设上海最有名的设计公司有哪些
  • 总代理大型网站建设简单的静态网页模板
  • 江西省工程建设网站开发网站的基本过程
  • 许昌做网站公司报价页面简洁的导航网站
  • 河北石家庄网站做一手房开什么网站比较好呢
  • 企业网站建设设置那些栏目做音乐网站的栏目
  • 做网站所需要的技术如何把做的网站与域名连接
  • 聊城网站策划网络营销网站建设案例
  • 中小企业建站实战传奇网游游戏排行榜
  • 福田商城网站建设重庆秀山网站建设报价
  • 企业网站设计与优化wordpress投稿者查看评论
  • 天津放心站内优化seo头像生成器在线制作
  • 网站域名绑定云南网上办事大厅
  • 市体育局网站 两学一做设计商城网站
  • 高端网站开发设计东莞网站建设网页推广
  • 信誉好的宜昌网站建设wordpress 自定义post
  • 网站自响应响应式网站对seo
  • 做线路板的去哪个网站找工作江苏省建设工程质量监督网站
  • 张扬网站建设什么语言做网站简单
  • 成都网站建设 推广行韩国电视剧
  • 网站查询关键词排名软件手机app下载网
  • 怎么看一个网站做没做竞价成都著名网站
  • 长治网站建设推广商城网站建设策划方案