From 212fec669a478b7ed5d0b0662d7e85251ca3d715 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 17 Jan 2023 12:45:04 -0500 Subject: [PATCH] add --default_only arg to configure_invokeai.py for CI use Added a --default_only argument that limits model downloads to the single default model, for use in continuous integration. New behavior - switch - --yes --default_only Behavior ----- -------------- -------- interactive download --yes non-interactively download all recommended models --yes --default_only non-interactively download the default model --- scripts/configure_invokeai.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/configure_invokeai.py b/scripts/configure_invokeai.py index 22ade19cdb..9d17a73317 100755 --- a/scripts/configure_invokeai.py +++ b/scripts/configure_invokeai.py @@ -197,6 +197,14 @@ def recommended_datasets()->dict: datasets[ds]=True return datasets +#--------------------------------------------- +def default_dataset()->dict: + datasets = dict() + for ds in Datasets.keys(): + if Datasets[ds].get('default',False): + datasets[ds]=True + return datasets + #--------------------------------------------- def all_datasets()->dict: datasets = dict() @@ -646,7 +654,7 @@ def download_weights(opt:dict) -> Union[str, None]: precision = 'float32' if opt.full_precision else choose_precision(torch.device(choose_torch_device())) if opt.yes_to_all: - models = recommended_datasets() + models = default_dataset() if opt.default_only else recommended_datasets() access_token = authenticate(opt.yes_to_all) if len(models)>0: successfully_downloaded = download_weight_datasets(models, access_token, precision=precision) @@ -808,6 +816,9 @@ def main(): dest='yes_to_all', action='store_true', help='answer "yes" to all prompts') + parser.add_argument('--default_only', + action='store_true', + help='when --yes specified, only install the default model') parser.add_argument('--config_file', '-c', dest='config_file',