                  loss_funcs.append(face_func)
                  if not predict and side.lower() == "a":
                      logger.verbose("Penalizing mask for Loss")
              else:
                  logger.debug("face loss func: %s", loss_func)
                  loss_funcs.append(loss_func)
          logger.debug(loss_funcs)
          return loss_funcs
  
  
  class NNMeta():
 
</s> remove                 face_func = PenalizedLoss(mask[0], loss_func)
                logger.debug("final face loss: %s", face_func)
                loss_funcs.append(face_func)
                if not predict and side.lower() == "a":
                    logger.verbose("Penalizing mask for Loss")
 </s> add                 loss_funcs.append(PenalizedLoss(mask[0], loss_dict[img_loss_config]))
                logger.debug("final face loss: %s", img_loss_config) </s> remove                 mask_func = losses.mean_squared_error
                loss_funcs.append(mask_func)
                logger.debug("mask loss: %s", mask_func)
 </s> add                 loss_funcs.append(loss_dict[mask_loss_config])
                logger.debug("mask loss: %s", mask_loss_config) </s> remove         loss_funcs = list()
 </s> add         loss_funcs = [] </s> remove 
        if self.config.get("dssim_loss", False):
            if not predict and side.lower() == "a":
                logger.verbose("Using DSSIM Loss")
            loss_func = DSSIMObjective()
        else:
            loss_func = losses.mean_absolute_error
            if not predict and side.lower() == "a":
                logger.verbose("Using Mean Absolute Error Loss")
 </s> add         loss_dict = {'mae':                     losses.mean_absolute_error,
                     'mse':                     losses.mean_squared_error,
                     'logcosh':                 losses.logcosh,
                     'smooth_l1':               generalized_loss,
                     'l_inf_norm':              l_inf_norm,
                     'ssim':                    DSSIMObjective(),
                     'gmsd':                    gmsd_loss,
                     'pixel_gradient_diff':     gradient_loss}
        img_loss_config = self.config.get("loss_function", "mae")
        mask_loss_config = "mse" </s> remove         if (in_width % self.stride == 0):
 </s> add         if (in_width % self.stride) == 0:
                loss_funcs.append(loss_dict[img_loss_config])
                logger.debug("face loss func: %s", img_loss_config)
                  loss_funcs.append(face_func)
                  if not predict and side.lower() == "a":
                      logger.verbose("Penalizing mask for Loss")
              else:
                loss_funcs.append(loss_dict[img_loss_config])
                logger.debug("face loss func: %s", img_loss_config)
                loss_funcs.append(loss_dict[img_loss_config])
                logger.debug("face loss func: %s", img_loss_config)
          logger.debug(loss_funcs)
          return loss_funcs
  
  
  class NNMeta():
keep keep keep keep replace replace keep keep keep keep keep
 documentation, pep8, style, clarity updates  - Prep for Segmentation (#812)

* documentation, pep8, style, clarity updates

* Update cli.py

* Update _config.py

remove extra mask and coverage

mask type as dropdown

* Update training_data.py

move coverage / LR to global
cut down on loss description

style change
losses working in PR

* simpler logging

* legacy update 
plugins/train/model/_base.py