Spaces:
Sleeping
Sleeping
from argparse import ArgumentParser | |
from . import BaseAutoTrainCommand | |
def run_tools_command_factory(args): | |
return RunAutoTrainToolsCommand(args) | |
class RunAutoTrainToolsCommand(BaseAutoTrainCommand): | |
def register_subcommand(parser: ArgumentParser): | |
run_app_parser = parser.add_parser("tools", help="Run AutoTrain tools") | |
subparsers = run_app_parser.add_subparsers(title="tools", dest="tool_name") | |
merge_llm_parser = subparsers.add_parser( | |
"merge-llm-adapter", | |
help="Merge LLM Adapter tool", | |
) | |
merge_llm_parser.add_argument( | |
"--base-model-path", | |
type=str, | |
help="Base model path", | |
) | |
merge_llm_parser.add_argument( | |
"--adapter-path", | |
type=str, | |
help="Adapter path", | |
) | |
merge_llm_parser.add_argument( | |
"--token", | |
type=str, | |
help="Token", | |
default=None, | |
required=False, | |
) | |
merge_llm_parser.add_argument( | |
"--pad-to-multiple-of", | |
type=int, | |
help="Pad to multiple of", | |
default=None, | |
required=False, | |
) | |
merge_llm_parser.add_argument( | |
"--output-folder", | |
type=str, | |
help="Output folder", | |
required=False, | |
default=None, | |
) | |
merge_llm_parser.add_argument( | |
"--push-to-hub", | |
action="store_true", | |
help="Push to Hugging Face Hub", | |
required=False, | |
) | |
merge_llm_parser.set_defaults(func=run_tools_command_factory, merge_llm_adapter=True) | |
convert_to_kohya_parser = subparsers.add_parser("convert_to_kohya", help="Convert to Kohya tool") | |
convert_to_kohya_parser.add_argument( | |
"--input-path", | |
type=str, | |
help="Input path", | |
) | |
convert_to_kohya_parser.add_argument( | |
"--output-path", | |
type=str, | |
help="Output path", | |
) | |
convert_to_kohya_parser.set_defaults(func=run_tools_command_factory, convert_to_kohya=True) | |
def __init__(self, args): | |
self.args = args | |
def run(self): | |
if getattr(self.args, "merge_llm_adapter", False): | |
self.run_merge_llm_adapter() | |
if getattr(self.args, "convert_to_kohya", False): | |
self.run_convert_to_kohya() | |
def run_merge_llm_adapter(self): | |
from autotrain.tools.merge_adapter import merge_llm_adapter | |
merge_llm_adapter( | |
base_model_path=self.args.base_model_path, | |
adapter_path=self.args.adapter_path, | |
token=self.args.token, | |
output_folder=self.args.output_folder, | |
pad_to_multiple_of=self.args.pad_to_multiple_of, | |
push_to_hub=self.args.push_to_hub, | |
) | |
def run_convert_to_kohya(self): | |
from autotrain.tools.convert_to_kohya import convert_to_kohya | |
convert_to_kohya( | |
input_path=self.args.input_path, | |
output_path=self.args.output_path, | |
) | |