Ejemplo n.º 1
0
    def __init__(self, arguments):
        logger.debug("Initializing %s: (arguments: %s", self.__class__.__name__, arguments)
        set_system_verbosity(arguments.loglevel)
        self._update_type = arguments.processing
        self._input_is_faces = arguments.input_type == "faces"
        self._mask_type = arguments.masker
        self._output_opts = dict(blur_kernel=arguments.blur_kernel, threshold=arguments.threshold)
        self._output_type = arguments.output_type
        self._output_full_frame = arguments.full_frame
        self._output_suffix = self._get_output_suffix()

        self._face_count = 0
        self._skip_count = 0
        self._update_count = 0

        self._check_input(arguments.input)
        self._saver = self._set_saver(arguments)
        self._loader = ImagesLoader(arguments.input, load_with_hash=self._input_is_faces)
        self._alignments = Alignments(os.path.dirname(arguments.alignments),
                                      filename=os.path.basename(arguments.alignments))

        self._extractor = self._get_extractor()
        self._extractor_input_thread = self._feed_extractor()

        logger.debug("Initialized %s", self.__class__.__name__)
Ejemplo n.º 2
0
 def __init__(self, arguments):
     logger.debug("Initializing %s: (arguments: '%s'",
                  self.__class__.__name__, arguments)
     self.args = arguments
     set_system_verbosity(self.args.loglevel)
     self.alignments = self.load_alignments()
     logger.debug("Initialized %s", self.__class__.__name__)
Ejemplo n.º 3
0
    def __init__(self, arguments):
        logger.debug("Initializing %s: (arguments: '%s'", self.__class__.__name__, arguments)
        set_system_verbosity(arguments.loglevel)
        self.config_tools = ConfigTools()
        self.lock = Lock()
        self.trigger_patch = Event()

        self.root = tk.Tk()
        self.scaling = self.get_scaling()

        self.tk_vars = dict(refresh=tk.BooleanVar(), busy=tk.BooleanVar())
        for val in self.tk_vars.values():
            val.set(False)
        self.display = FacesDisplay(256, 64, self.tk_vars)
        self.samples = Samples(arguments, 5, self.display, self.lock, self.trigger_patch)
        self.patch = Patch(arguments,
                           self.samples,
                           self.display,
                           self.lock,
                           self.trigger_patch,
                           self.config_tools,
                           self.tk_vars)

        self.initialize_tkinter()
        self.image_canvas = None
        self.opts_book = None
        self.cli_frame = None  # cli frame holds cli options
        logger.debug("Initialized %s", self.__class__.__name__)
Ejemplo n.º 4
0
    def process(self):
        """ Call the training process object """
        logger.debug("Starting Training Process")
        logger.info("Training data directory: %s", self.args.model_dir)

        # TODO Move these args to config and remove these deprecation warnings
        if hasattr(self.args,
                   "warp_to_landmarks") and self.args.warp_to_landmarks:
            deprecation_warning(
                "`-wl`, ``--warp-to-landmarks``",
                additional_info="This option will be available within training "
                "config settings (/config/train.ini).")
        if hasattr(self.args, "no_augment_color") and self.args.no_flip:
            deprecation_warning(
                "`-nac`, ``--no-augment-color``",
                additional_info="This option will be available within training "
                "config settings (/config/train.ini).")
        set_system_verbosity(self.args.loglevel)
        thread = self.start_thread()
        # queue_manager.debug_monitor(1)

        err = self.monitor(thread)

        self.end_thread(thread, err)
        logger.debug("Completed Training Process")
Ejemplo n.º 5
0
 def process(self):
     """ Call the training process object """
     print("Training data directory: {}".format(self.args.model_dir))
     lvl = '0' if self.args.verbose else '2'
     set_system_verbosity(lvl)
     thread = self.start_thread()
     if self.stop == True:
         self.end_thread(thread)
Ejemplo n.º 6
0
Archivo: train.py Proyecto: procule/df
    def process(self):
        """ Call the training process object """
        logger.debug("Starting Training Process")
        logger.info("Training data directory: %s", self.args.model_dir)
        set_system_verbosity(self.args.loglevel)
        thread = self.start_thread()
        # queue_manager.debug_monitor(1)

        err = self.monitor(thread)

        self.end_thread(thread, err)
        logger.debug("Completed Training Process")
Ejemplo n.º 7
0
    def process(self):
        """ Call the training process object """
        logger.info("Training data directory: %s", self.args.model_dir)
        set_system_verbosity(self.args.loglevel)
        thread = self.start_thread()

        if self.args.preview:
            self.monitor_preview()
        else:
            self.monitor_console()

        self.end_thread(thread)
Ejemplo n.º 8
0
    def process(self):
        """ Call the training process object """
        logger.debug("Starting Training Process")
        logger.info("Training data directory: %s", self.args.model_dir)
        set_system_verbosity(self.args.loglevel)
        thread = self.start_thread()
        # queue_manager.debug_monitor(1)

        err = self.monitor(thread)

        self.end_thread(thread, err)
        logger.debug("Completed Training Process")
Ejemplo n.º 9
0
    def __init__(self, backend="GPU", loglevel="INFO"):
        logger.debug("Initializing %s: (backend: %s, loglevel: %s)",
                     self.__class__.__name__, backend, loglevel)
        set_system_verbosity(loglevel)
        backend = backend.upper()
        git_model_id = 10
        model_filename = ["vggface2_resnet50_v2.h5"]
        self.input_size = 224
        # Average image provided in https://github.com/ox-vgg/vgg_face2
        self.average_img = np.array([91.4953, 103.8827, 131.0912])

        self.model = self.get_model(git_model_id, model_filename, backend)
        logger.debug("Initialized %s", self.__class__.__name__)
Ejemplo n.º 10
0
    def process(self):
        """ Call the training process object """
        print("Training data directory: {}".format(self.args.model_dir))
        lvl = '0' if self.args.verbose else '2'
        set_system_verbosity(lvl)
        thread = self.start_thread()

        if self.args.preview:
            self.monitor_preview()
        else:
            self.monitor_console()

        self.end_thread(thread)
Ejemplo n.º 11
0
    def execute_script(self, arguments):
        """ Performs final set up and launches the requested :attr:`_command` with the given
        command line arguments.

        Monitors for errors and attempts to shut down the process cleanly on exit.

        Parameters
        ----------
        arguments: :class:`argparse.Namespace`
            The command line arguments to be passed to the executing script.
        """
        set_system_verbosity(arguments.loglevel)
        is_gui = hasattr(arguments, "redirect_gui") and arguments.redirect_gui
        log_setup(arguments.loglevel, arguments.logfile, self._command, is_gui)
        success = False

        if self._command != "gui":
            self._configure_backend(arguments)
        try:
            script = self._import_script()
            process = script(arguments)
            process.process()
            success = True
        except FaceswapError as err:
            for line in str(err).splitlines():
                logger.error(line)
        except KeyboardInterrupt:  # pylint: disable=try-except-raise
            raise
        except SystemExit:
            pass
        except Exception:  # pylint: disable=broad-except
            crash_file = crash_log()
            logger.exception("Got Exception on main handler:")
            logger.critical(
                "An unexpected crash has occurred. Crash report written to '%s'. "
                "You MUST provide this file if seeking assistance. Please verify you "
                "are running the latest version of faceswap before reporting",
                crash_file)

        finally:
            safe_shutdown(got_error=not success)
Ejemplo n.º 12
0
 def __init__(self, arguments):
     logger.debug("Initializing %s: (arguments: '%s'", self.__class__.__name__, arguments)
     self.args = arguments
     set_system_verbosity(self.args.loglevel)
     self.alignments = self.load_alignments()
     logger.debug("Initialized %s", self.__class__.__name__)
Ejemplo n.º 13
0
 def set_verbosity(verbose):
     """ Set the system output verbosity """
     lvl = '0' if verbose else '2'
     set_system_verbosity(lvl)
Ejemplo n.º 14
0
 def set_verbosity(loglevel):
     """ Set the system output verbosity """
     set_system_verbosity(loglevel)
Ejemplo n.º 15
0
 def set_verbosity(verbose):
     """ Set the system output verbosity """
     lvl = '0' if verbose else '2'
     set_system_verbosity(lvl)
Ejemplo n.º 16
0
 def set_verbosity():
     """ Set the system output verbosity """
     set_system_verbosity()
Ejemplo n.º 17
0
 def set_verbosity(loglevel):
     """ Set the system output verbosity """
     set_system_verbosity(loglevel)
Ejemplo n.º 18
0
    def __init__(self, arguments):
        self.args = arguments
        set_system_verbosity()

        dest_format = self.get_dest_format()
        self.alignments = AlignmentData(self.args.alignments_file, dest_format)
Ejemplo n.º 19
0
 def __init__(self, arguments):
     set_system_verbosity(arguments.loglevel)
     self.root = FaceswapGui(arguments.debug)