Tensorflow 如何计算tf.keras中的梯度w.r.t权重,并记录相同的权重,以便在张力板上进行梯度监测?

Tensorflow 如何计算tf.keras中的梯度w.r.t权重,并记录相同的权重,以便在张力板上进行梯度监测?,tensorflow,keras,tensorboard,tf.keras,generative-adversarial-network,Tensorflow,Keras,Tensorboard,Tf.keras,Generative Adversarial Network,实际上,我正在使用TF keras开发基本GANs,这里我使用批量训练方法交替训练生成器和鉴别器,该方法没有回调参数用于编写张力板日志,就像keras模型的拟合方法一样。现在我想写下训练期间的模型日志,以便在张力板上监控重量和梯度 培训代码部分如下: def train(g_model, d_model, gan_model, dataset, latent_dim, seed, n_epochs=100, n_batch=128): bat_per_epo = int(dataset.sh

实际上,我正在使用TF keras开发基本GANs,这里我使用批量训练方法交替训练生成器和鉴别器,该方法没有回调参数用于编写张力板日志,就像keras模型的拟合方法一样。现在我想写下训练期间的模型日志,以便在张力板上监控重量和梯度

培训代码部分如下:

def train(g_model, d_model, gan_model, dataset, latent_dim, seed, n_epochs=100, n_batch=128):
  bat_per_epo = int(dataset.shape[0] / n_batch)
  half_batch = int(n_batch / 2)

  for i in range(n_epochs):
    for j in range(bat_per_epo):
      # Training discriminator with real images
      X_real, y_real = generate_real_samples(dataset, half_batch)
      d_loss1, _ = d_model.train_on_batch(X_real, y_real * .9) # Label Smoothing

      # Training discriminator with fake images
      X_fake, y_fake = generate_fake_samples(g_model, latent_dim, half_batch)
      d_loss2, _ = d_model.train_on_batch(X_fake, y_fake + .1) # Label Smoothing

      # Training generator with latent points
      X_gan = generate_latent_points(latent_dim, n_batch)
      y_gan = ones((n_batch, 1))

      g_loss = gan_model.train_on_batch(X_gan, y_gan)

      if not j%10:
        print('>%d, %d/%d, d1=%.3f, d2=%.3f g=%.3f' %(i+1, j+1, bat_per_epo, d_loss1, d_loss2, g_loss))

    display.clear_output(True)
    print('>%d, %d/%d, d1=%.3f, d2=%.3f g=%.3f' %(i+1, j+1, bat_per_epo, d_loss1, d_loss2, g_loss))
    summarize_performance(i, g_model, d_model, dataset, latent_dim, seed)

  display.clear_output(True)
  print('>%d, %d/%d, d1=%.3f, d2=%.3f g=%.3f' %(i+1, j+1, bat_per_epo, d_loss1, d_loss2, g_loss))
  summarize_performance(i, g_model, d_model, dataset, latent_dim, seed)
这里有一些计算梯度的方法

  • 但我对这一点以及如何在没有回调选项的情况下记录梯度感到困惑。有人能帮我吗