在每个训练步骤中将张量保存到文件

时间:2019-09-02 20:39:58

标签: tensorflow

我正在尝试从this tutorial学习TensorFlow来实现DCGAN模型。我按照教程中的步骤进行操作,并编辑了生成器和鉴别器模型的层,以满足我的体系结构。

我的训练过程有n个时期,每个时期都叫train_step。我希望能够:

  • generated_data = generator(noise, training=True)生成的数据作为数值保存到文件中,或
  • 使用tf.losses.mean_squared_error(data, generated_data)查找一个数值并将其保存到文件中或附加到数组中

我尝试创建一个会话,然后运行该会话以获取MSE的数字表示形式,但是无法做到。

@tf.function
def train_step(data):
    noise = tf.random.normal(noise_dim)

    with tf.GradientTape() as gen_tape, tf.GradientTape() as disc_tape:
        generated_data = generator(noise, training=True)

        real_output = discriminator(data, training=True)
        fake_output = discriminator(generated_data, training=True)

        utility_losses.append(tf.losses.mean_squared_error(data, generated_data))

        gen_loss = generator_loss(fake_output)
        disc_loss = discriminator_loss(real_output, fake_output)

    gradients_of_generator = gen_tape.gradient(gen_loss, generator.trainable_variables)
    gradients_of_discriminator = disc_tape.gradient(disc_loss, discriminator.trainable_variables)

    generator_optimizer.apply_gradients(zip(gradients_of_generator, generator.trainable_variables))
    discriminator_optimizer.apply_gradients(zip(gradients_of_discriminator, discriminator.trainable_variables))

这是会话部分:

sess = tf.Session()
print(sess.run(utility_losses[0]))

此操作失败,并出现包含FailedPreconditionError的长错误跟踪

我希望能够在每个时期将生成的数据保存到文件中,但是我无法在TensorFlow中找到方法。我一直在寻找几个小时来找到解决方案,但是无法解决。

0 个答案:

没有答案
相关问题