  
          return get_image_paths(input_dir)
  
      def get_image_data(self, input_images, batch_size):
          random_transform_args = {
              'rotation_range': 0,
              'zoom_range': 0,
              'shift_range': 0,
 
</s> remove         zoom = self.trainer.model.IMAGE_SHAPE[0] // 64 if hasattr(self.trainer.model, 'IMAGE_SHAPE') else 1
 </s> add         zoom = 1
        if hasattr(self.trainer.model, 'IMAGE_SHAPE'):
            zoom = self.trainer.model.IMAGE_SHAPE[0] // 64 </s> remove     def detect_blurry_faces(self, face, t_mat, resized_image, filename):
        """ Detect and move blurry face """
        if not hasattr(self.args, 'blur_thresh') or not self.args.blur_thresh:
            return None
 </s> add         return input_images </s> remove         for (pos_x, pos_y) in face.landmarks_as_xy():
            cv2.circle(image, (pos_x, pos_y), 2, (0, 0, 255), -1)
 </s> add         print("Input Directory: {}".format(self.args.input_dir))
        input_images = get_image_paths(self.args.input_dir) </s> remove             yield faces_count, face
            self.num_faces_detected += 1
            faces_count += 1
        if faces_count > 1 and self.args.verbose:
            print("Note: Found more than one face in "
                  "an image! File: {}".format(filename))
            self.verify_output = True

    def draw_landmarks_on_face(self, face, image):
        """ Draw debug landmarks on extracted face """
        if (not hasattr(self.args, 'debug_landmarks')
                or not self.args.debug_landmarks):
            return
 </s> add     def get_input_images(self):
        """ Return the list of images that are to be processed """
        if not os.path.exists(self.args.input_dir):
            print("Input directory {} not found.".format(self.args.input_dir))
            exit(1) </s> remove         self.extract = Extract(None, "manual",
                               initialize_only=True, verbose=verbose)
 </s> add         self.extractor = {
            "detect": PluginLoader.get_detector("manual")(verbose=verbose),
            "align": PluginLoader.get_aligner("fan")(verbose=verbose)}
        self.init_extractor()

        """ Get training images """
  
          return get_image_paths(input_dir)
  
      def get_image_data(self, input_images, batch_size):
        """ Get training images """
          random_transform_args = {
              'rotation_range': 0,
              'zoom_range': 0,
              'shift_range': 0,
keep keep keep add keep keep keep keep
 Extraction - Speed improvements (#522) (#523)

* Extraction - Speed improvements (#522)

* Initial Plugin restructure

* Detectors to plugins. Detector speed improvements

* Re-implement dlib aligner, remove models, FAN to TF. Parallel processing

* Update manual, update convert, implement parallel/serial switching

* linting + fix cuda check (setup.py). requirements update keras 2.2.4

* Add extract size option. Fix dlib hog init

* GUI: Increase tooltip width

* Update alignment tool to support new DetectedFace

* Add skip existing faces option

* Fix sort tool to new plugin structure

* remove old align plugin

* fix convert -skip faces bug

* Fix convert skipping no faces frames

* Convert - draw onto transparent layer

* Fix blur threshold bug

* fix skip_faces convert bug

* Fix training 
lib/utils.py