for the generator, firstly I compute the gen_feat_loss as I said with the features from the discriminator:
genFeatLoss += self.compute_genFeatLoss(fake_list_features, true_list_features, discriminator.n_layers, num_discriminators)
Then, after computing perceptual and other losses, I sum them like this in the train method:
for epoch in range(epochs):
      for i, batch in enumerate(self.train_loader): 
                ...
                # train discriminator
                self.opt_discriminator.zero_grad()
                discriminator_loss, genFeat_loss = self.compute_discriminator(generator, discriminator, 
                batch)
                discriminator_loss.backward()
                self.opt_discriminator.step()

                # train generator
                self.opt_generator.zero_grad()
                loss_1, loss_2, loss_3, _ = self.compute_generator_loss(generator, 
                discriminator, batch)

                generator_loss = loss_1 + loss_2 + loss_2 + genFeat_loss
                generator_loss.backward()
                self.opt_generator.step()