网站大量收购闲置独家精品文档,联系QQ:2885784924

人工智能安全:原理与实践 参考代码2-1:基于生成对抗网络.pdf

人工智能安全:原理与实践 参考代码2-1:基于生成对抗网络.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

fromnumpyimporthstack,zeros,ones

fromnumpy.randomimportrand,randn

fromkeras.modelsimportSequential

fromkeras.layersimportDense

frommatplotlibimportpyplot

#定义一个独立的生成器模型

defdefine_generator(latent_dim,n_outputs=2):

model=Sequential()

model.add(Dense(15,activation=relu,kernel_initializer=he_uniform,

input_dim=latent_dim))

model.add(Dense(n_outputs,activation=linear))

returnmodel

#定义一个独立的判别器模型

defdefine_discriminator(n_inputs=2):

model=Sequential()

model.add(Dense(25,activation=relu,kernel_initializer=he_uniform,

input_dim=n_inputs))

model.add(Dense(1,activation=sigmoid))

pile(loss=binary_crossentropy,optimizer=adam,metrics=[accuracy])

returnmodel

#定义一个完整的生成对抗网络模型,即组合的生成器和判别器模型,以更新生成器

defdefine_gan(generator,discriminator):

discriminator.trainable=False

model=Sequential()

model.add(generator)

model.add(discriminator)

pile(loss=binary_crossentropy,optimizer=adam)

returnmodel

#生成带有类标签的n个真实样本

defgenerate_real_samples(n):

X1=rand(n)-0.5

X2=X1*X1

X1=X1.reshape(n,1)

X2=X2.reshape(n,1)

X=hstack((X1,X2))

y=ones((n,1))

returnX,y

#在隐空间中生成一些点作为生成器的输入

defgenerate_latent_points(latent_dim,n):

x_input=randn(latent_dim*n)

x_input=x_input.reshape(n,latent_dim)

returnx_input

#使用生成器生成带有类标签的n个伪造样本

defgenerate_fake_samples(generator,latent_dim,n):

x_input=generate_latent_points(latent_dim,n)

X=generator.predict(x_input)

y=zeros((n,1))

returnX,y

下方图片代码需要学生手写实现:

#训练生成对抗网络

deftrain(g_model,d_model,gan_model,latent_dim,n_epochs=10000,n_batch=128,n_eval=2000):

half_batch=int(n_batch/2)

foriinrange(n_epochs):

x_real,y_real=generate_real_samples(half_batch)

x_fake,y_fake=generate_fake

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档