Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configuration script tidying up #2513

Merged
merged 2 commits into from
Feb 5, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions installer/create_installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,13 @@ fi
VERSION=$(cd ..; python -c "from ldm.invoke import __version__ as version; print(version)")
PATCH=""
VERSION="v${VERSION}${PATCH}"
LATEST_TAG="v2.3-latest"

echo Building installer for version $VERSION
echo "Be certain that you're in the 'installer' directory before continuing."
read -p "Press any key to continue, or CTRL-C to exit..."

read -e -p "Commit and tag this repo with ${VERSION} and 'v2.3-latest'? [n]: " input
read -e -p "Commit and tag this repo with '${VERSION}' and '${LATEST_TAG}'? [n]: " input
RESPONSE=${input:='n'}
if [ "$RESPONSE" == 'y' ]; then
git commit -a
Expand All @@ -28,8 +29,8 @@ if [ "$RESPONSE" == 'y' ]; then
echo "Existing/invalid tag"
exit -1
fi
git push origin :refs/tags/v2.3-latest
git tag -fa latest
git push origin :refs/tags/$LATEST_TAG
git tag -fa $LATEST_TAG
fi

# ----------------------
Expand Down
4 changes: 2 additions & 2 deletions installer/installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -339,15 +339,15 @@ def configure(self):

introduction()

from ldm.invoke.config import configure_invokeai
from ldm.invoke.config import invokeai_configure

# NOTE: currently the config script does its own arg parsing! this means the command-line switches
# from the installer will also automatically propagate down to the config script.
# this may change in the future with config refactoring!

# set sys.argv to a consistent state

configure_invokeai.main()
invokeai_configure.main()

def install_user_scripts(self):
"""
Expand Down
4 changes: 2 additions & 2 deletions ldm/invoke/CLI.py
Original file line number Diff line number Diff line change
Expand Up @@ -1133,8 +1133,8 @@ def report_model_error(opt:Namespace, e:Exception):
for arg in yes_to_all.split():
sys.argv.append(arg)

from ldm.invoke.config import configure_invokeai
configure_invokeai.main()
from ldm.invoke.config import invokeai_configure
invokeai_configure.main()
print('** InvokeAI will now restart')
sys.argv = previous_args
main() # would rather do a os.exec(), but doesn't exist?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ def user_wants_to_download_weights() -> str:

https://invoke-ai.github.io/InvokeAI/installation/020_INSTALL_MANUAL/

You may download the recommended models (about 10GB total), select a customized set, or
completely skip this step.
You may download the recommended models (about 15GB total), install all models (40 GB!!)
select a customized set, or completely skip this step.
"""
)
completer.set_options(["recommended", "customized", "skip"])
Expand Down Expand Up @@ -435,9 +435,7 @@ def _download_diffusion_weights(
)
except OSError as e:
if str(e).startswith("fp16 is not a valid"):
print(
f"Could not fetch half-precision version of model {repo_id}; fetching full-precision instead"
)
pass
else:
print(f"An unexpected error occurred while downloading the model: {e})")
if path:
Expand Down Expand Up @@ -868,7 +866,7 @@ def initialize_rootdir(root: str, yes_to_all: bool = False):
):
os.makedirs(os.path.join(root, name), exist_ok=True)

configs_src = Path(configs.__path__[-1])
configs_src = Path(configs.__path__[0])
configs_dest = Path(root) / "configs"
if not os.path.samefile(configs_src, configs_dest):
shutil.copytree(configs_src, configs_dest, dirs_exist_ok=True)
Expand Down
7 changes: 3 additions & 4 deletions ldm/invoke/model_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -484,12 +484,11 @@ def _load_diffusers_model(self, mconfig):
**pipeline_args,
**fp_args,
)

except OSError as e:
if str(e).startswith('fp16 is not a valid'):
print(f'Could not fetch half-precision version of model {name_or_path}; fetching full-precision instead')
pass
else:
print(f'An unexpected error occurred while downloading the model: {e})')
print(f'** An unexpected error occurred while downloading the model: {e})')
if pipeline:
break

Expand Down Expand Up @@ -1040,7 +1039,7 @@ def _load_vae(self, vae_config)->AutoencoderKL:
vae = AutoencoderKL.from_pretrained(name_or_path, **vae_args, **fp_args)
except OSError as e:
if str(e).startswith('fp16 is not a valid'):
print(' | Half-precision version of model not available; fetching full-precision instead')
pass
else:
deferred_error = e
if vae:
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,13 @@ dependencies = [

# legacy entrypoints; provided for backwards compatibility
"invoke.py" = "ldm.invoke.CLI:main"
"configure_invokeai.py" = "ldm.invoke.config.configure_invokeai:main"
"configure_invokeai.py" = "ldm.invoke.config.invokeai_configure:main"
"textual_inversion.py" = "ldm.invoke.training.textual_inversion:main"
"merge_embeddings.py" = "ldm.invoke.merge_diffusers:main"

# modern entrypoints
"invokeai" = "ldm.invoke.CLI:main"
"invokeai-configure" = "ldm.invoke.config.configure_invokeai:main"
"invokeai-configure" = "ldm.invoke.config.invokeai_configure:main"
"invokeai-merge" = "ldm.invoke.merge_diffusers:main" # note name munging
"invokeai-ti" = "ldm.invoke.training.textual_inversion:main"

Expand Down
4 changes: 2 additions & 2 deletions scripts/configure_invokeai.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# Copyright (c) 2022 Lincoln D. Stein (https://github.com/lstein)

import warnings
from ldm.invoke.config import configure_invokeai
from ldm.invoke.config import invokeai_configure

if __name__ == '__main__':
warnings.warn("configire_invokeai.py is deprecated, please run 'invoke'", DeprecationWarning)
warnings.warn("configure_invokeai.py is deprecated, please run 'invokai-configure'", DeprecationWarning)
configure_invokeai.main()