  
      def train_one_batch(self):
          """ Train a batch """
          logger.trace("Training one step: (side: %s)", self.side)
          model_inputs, model_targets = self.get_next()
          try:
              loss = self.model.predictors[self.side].train_on_batch(x=model_inputs, y=model_targets)
          except tf_errors.ResourceExhaustedError as err:
              msg = ("You do not have enough GPU memory available to train the selected model at "
                     "the selected settings. You can try a number of things:"
 
</s> remove             loss = self.model.predictors[self.side].train_on_batch(x=model_inputs, y=model_targets)
 </s> add             loss = self.model.predictors[self.side].train_on_batch(*batch) </s> remove     def train_one_batch(self):
 </s> add     def train_one_batch(self, do_preview): </s> remove                    "\nIf you are using 'warp to landmarks' then every "
 </s> add                    "\nIf you are training with a mask or using 'warp to landmarks' then every " </s> remove             Items should come out as: (sample, warped, targets, [mask]) """
        logger.debug("Generating targets")
 </s> add             Items should come out as: (warped, target [, mask]) """
        batch = self.get_next(do_preview)
  
      def train_one_batch(self):
          """ Train a batch """
          logger.trace("Training one step: (side: %s)", self.side)
        batch = self.get_next(do_preview)
          try:
              loss = self.model.predictors[self.side].train_on_batch(x=model_inputs, y=model_targets)
          except tf_errors.ResourceExhaustedError as err:
              msg = ("You do not have enough GPU memory available to train the selected model at "
                     "the selected settings. You can try a number of things:"
keep keep keep keep replace keep keep keep keep keep
 Serialize masks to alignments file

- Add new serializers (npy + compressed)
- Remove Serializer option from cli
- Revert get_aligned call in scripts/extract
- Default alignments to compressed
- Size masks to 128px and compress
- Remove mask thresholding/blur from generation code
- Add Mask class to lib/faces_detect
- Revert debug landmarks to aligned face
- Revert non-extraction code to staging version 
plugins/train/trainer/_base.py