对于此代码:
# Initialize generator - feed noise and profile images
noise = random_normal(shape = (-1, 8, 8, z_dim), mean = 0.0, stddev = 1.0, dtype = None, seed = None)
noise = Input(tensor = noise)
input_data = Input(shape = (128, 128, 3))
generated_img = generator_network(input_data, noise)
# Initialize discriminator - feed frontal faces as ground truth and the generated images as fake
generated_img = Input(tensor = generated_img)
true_score = discriminator_network(input_data)
fake_score = discriminator_network(generated_img)
# Optimizer
Adam_optimizer = Adam(lr = learning_rate, beta_1 = 0.9, beta_2 = 0.999, epsilon = 1e-08, decay = decay_rate)
# Losses
discrim_loss = discriminator_loss(true_score, fake_score)
var_loss = variation_loss(input_data, generated_img)
pix_loss = pixel_loss(input_data, generated_img)
cross_loss = cross_entropy_loss(true_score, fake_score)
gen_loss = generator_loss(discrim_loss, var_loss, pix_loss, cross_loss)
# Models
discriminator = Model(inputs = generated_img , outputs = fake_score)
generator = Model(inputs = [input_data, noise], outputs = generated_img)
# Compilers
discriminator.compile(optimizer = Adam_optimizer, loss = discriminator_loss)
generator.compile( optimizer = Adam_optimizer, loss = generator_loss)
我收到此错误:
回溯(最近一次调用最后一次):文件“main.py”,第74行,在generator = Model(inputs = [input_data,noise],outputs = generated_img)文件“/ home / diana / Documents / VirtualNN / local / lib /python2.7/site-packages/keras/legacy/interfaces.py“,第87行,在包装器中返回func(* args,** kwargs)文件”/ home / diana / Documents / VirtualNN / local / lib / python2 . 7 / site-packages / keras / engine / topology.py“,第1793行,在init str(layers_with_complete_input)中)RuntimeError:Graph disconnected:无法获取张量Tensor的值(”conv2d_35 / Relu:0“,shape =(?,层“input_3”处的?,?,3),dtype = float32) . 访问以下先前的图层时没有问题:[]
谁知道为什么它说我的模型生成器不是连接图?根据我的理解,它是相互联系的 . 但也许还有一些我看不到的东西 .
1 回答
如果您的目的是构建GAN模型,则应将生成器网络和鉴别器网络包装为另一个网络中的两个连续层 . 例如: