          """ Return coverage ratio from training options """
          return self.model.training_opts["coverage_ratio"]
  
      @property
      def input_size(self):
          """ Return the model input size """
          return self.model.input_shape[0]
  
      @property
      def output_size(self):
          """ Return the model output size """
          return self.model.output_shape[0]
 
</s> remove         """ Return coverage ratio from training options """
        return self.model.training_opts["coverage_ratio"]
 </s> add         """ float: The coverage ratio that the model was trained at. """
        return self._model.training_opts["coverage_ratio"] </s> remove         """ Return the model output size """
        return self.model.output_shape[0]
 </s> add         """ int: The size in pixels of the Faceswap model output. """
        return self._model.output_shape[0] </s> remove     def input_mask(self):
        """ Return the input mask """
        mask = np.zeros((1, ) + self.model.state.mask_shapes[0], dtype="float32")
        return mask
 </s> add     def _input_size(self):
        """ int: The size in pixels of the Faceswap model input. """
        return self._model.input_shape[0] </s> remove         self.thread = MultiThread(self.predict_faces, thread_count=1)
        self.thread.start()
        logger.debug("Initialized %s: (out_queue: %s)", self.__class__.__name__, self.out_queue)
 </s> add     @property
    def verify_output(self):
        """ bool: ``True`` if multiple faces have been found in frames, otherwise ``False``. """
        return self._verify_output </s> remove     def random_choice(self):
        """ Return for random indices from the indices group """
        retval = [random.choice(indices) for indices in self.indices]
 </s> add     def sample_size(self):
        """ int: The number of samples to take from the input video/images """
        return self._sample_size

    @property
    def predicted_images(self):
        """ list: The predicted faces output from the Faceswap model """
        return self._predicted_images

    @property
    def alignments(self):
        """ :class:`~lib.alignments.Alignments`: The alignments for the preview faces """
        return self._alignments

    @property
    def predictor(self):
        """ :class:`~scripts.convert.Predict`: The Predictor for the Faceswap model """
        return self._predictor

    @property
    def _random_choice(self):
        """ list: Random indices from the :attr:`_indices` group """
        retval = [random.choice(indices) for indices in self._indices]
    def has_predicted_mask(self):
        """ bool: ``True`` if the model was trained to learn a mask, otherwise ``False``. """
        return bool(self._model.state.config.get("learn_mask", False))
          """ Return coverage ratio from training options """
          return self.model.training_opts["coverage_ratio"]
  
      @property
    def has_predicted_mask(self):
        """ bool: ``True`` if the model was trained to learn a mask, otherwise ``False``. """
        return bool(self._model.state.config.get("learn_mask", False))
    def has_predicted_mask(self):
        """ bool: ``True`` if the model was trained to learn a mask, otherwise ``False``. """
        return bool(self._model.state.config.get("learn_mask", False))
    def has_predicted_mask(self):
        """ bool: ``True`` if the model was trained to learn a mask, otherwise ``False``. """
        return bool(self._model.state.config.get("learn_mask", False))
  
      @property
      def output_size(self):
          """ Return the model output size """
          return self.model.output_shape[0]
keep keep keep keep replace replace replace keep keep keep keep keep
 Smart Masks to Convert (#957)

- scripts.convert - Use Smart Masks for Convert
    * Make on-the-fly conversion an explicit option

- Move BlurMask to lib.faces_detect

- tools.preview - Fix for smart masks
    * Subclass from tk.Tk
    * Options to lib.gui.control_helper
    *variable cleanup

- lib.logger - Demote more tensorflow deprecation messages

- Documentation:
    * lib.faces_detect.BlurMask
    * plugins.convert.mask
    * lib.convert
    * scripts.convert
    * scripts.fsmedia
    * tools.preview 
scripts/convert.py