              missing = [filenames[idx] for idx in indices]
              msg = ("Files missing alignments for this batch: {}"
                     "\nAt least one of your images does not have a matching entry in your "
                     "alignments file."
                     "\nIf you are using 'warp to landmarks' then every "
                     "face you intend to train on must exist within the alignments file."
                     "\nThe specific files that caused this failure are listed above."
                     "\nMost likely there will be more than just these files missing from the "
                     "alignments file. You can use the Alignments Tool to help identify missing "
                     "alignments".format(missing))
 
</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         model_inputs, model_targets = self.get_next()
 </s> add         batch = self.get_next(do_preview) </s> remove             section=section, title="replicate_input_mask", datatype=bool,
            default=False, group="mask",
            info="Dedicate portions of the model to learning how to duplicate the input "
                 "mask. Increases VRAM usage in exchange for a learning a quick ability "
                 "to try to replicate more complex mask models.")
 </s> add             section=section, title="mask_type", datatype=str, default="none",
            choices=get_available_masks(), group="mask",
            info="The mask to be used for training:"
                 "\n\t none: Doesn't use any mask."
                 "\n\t components: An improved face hull mask using a facehull of 8 facial parts"
                 "\n\t dfl_full: An improved face hull mask using a facehull of 3 facial parts"
                 "\n\t extended: Based on components mask. Extends the eyebrow points to further "
                 "up the forehead. May perform badly on difficult angles."
                 "\n\t facehull: Face cutout based on landmarks") </s> remove         filename:   Filename of alignments file excluding extension. If a
 </s> add         filename:   Filename of alignments file. If a
                   "\nIf you are training with a mask or using 'warp to landmarks' then every "
              missing = [filenames[idx] for idx in indices]
              msg = ("Files missing alignments for this batch: {}"
                     "\nAt least one of your images does not have a matching entry in your "
                     "alignments file."
                   "\nIf you are training with a mask or using 'warp to landmarks' then every "
                     "face you intend to train on must exist within the alignments file."
                     "\nThe specific files that caused this failure are listed above."
                     "\nMost likely there will be more than just these files missing from the "
                     "alignments file. You can use the Alignments Tool to help identify missing "
                     "alignments".format(missing))
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 
lib/training_data.py