code: def get_feature_match_loss(self, feats_real, feats_fake):
      losses = []
      for real, fake in zip(feats_real, feats_fake):
          loss = tf.reduce_mean(
              tf.squared_difference(
                  tf.reduce_mean(real, 0), tf.reduce_mean(fake, 0)
              ),
              name="mse_feat_" + real.op.name,
          )
          losses.append(loss)
      ret = tf.add_n(losses, name="feature_match_loss")
      add_moving_summary(ret)
      return ret
  
file_path: tensorpack/examples/GAN/DiscoGAN-CelebA.py
imports: import argparse
  import numpy
  import os
  import tensorflow
  from tensorpack import *
  from tensorpack.tfutils.scope_utils import auto_reuse_variable_scope
  from tensorpack.tfutils.summary import add_moving_summary
  from GAN import GANModelDesc, SeparateGANTrainer
label_desc: Use image node_id 4 for calling the Model obj's underlying member method code with example usage: obj.get_feature_match_loss(feats_real, feats_fake) and returns: ret