mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
Merge branch 'lstein/improve-model-install-stability' into release/invokeai-3-0-alpha
This commit is contained in:
commit
3458f45a2b
@ -11,6 +11,7 @@ from typing import List, Dict, Callable, Union, Set
|
|||||||
|
|
||||||
import requests
|
import requests
|
||||||
from diffusers import StableDiffusionPipeline
|
from diffusers import StableDiffusionPipeline
|
||||||
|
from diffusers import logging as dlogging
|
||||||
from huggingface_hub import hf_hub_url, HfFolder, HfApi
|
from huggingface_hub import hf_hub_url, HfFolder, HfApi
|
||||||
from omegaconf import OmegaConf
|
from omegaconf import OmegaConf
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
@ -153,6 +154,9 @@ class ModelInstall(object):
|
|||||||
return defaults[0]
|
return defaults[0]
|
||||||
|
|
||||||
def install(self, selections: InstallSelections):
|
def install(self, selections: InstallSelections):
|
||||||
|
verbosity = dlogging.get_verbosity() # quench NSFW nags
|
||||||
|
dlogging.set_verbosity_error()
|
||||||
|
|
||||||
job = 1
|
job = 1
|
||||||
jobs = len(selections.remove_models) + len(selections.install_models)
|
jobs = len(selections.remove_models) + len(selections.install_models)
|
||||||
|
|
||||||
@ -160,7 +164,10 @@ class ModelInstall(object):
|
|||||||
for key in selections.remove_models:
|
for key in selections.remove_models:
|
||||||
name,base,mtype = self.mgr.parse_key(key)
|
name,base,mtype = self.mgr.parse_key(key)
|
||||||
logger.info(f'Deleting {mtype} model {name} [{job}/{jobs}]')
|
logger.info(f'Deleting {mtype} model {name} [{job}/{jobs}]')
|
||||||
self.mgr.del_model(name,base,mtype)
|
try:
|
||||||
|
self.mgr.del_model(name,base,mtype)
|
||||||
|
except FileNotFoundError as e:
|
||||||
|
logger.warning(e)
|
||||||
job += 1
|
job += 1
|
||||||
|
|
||||||
# add requested models
|
# add requested models
|
||||||
@ -168,7 +175,8 @@ class ModelInstall(object):
|
|||||||
logger.info(f'Installing {path} [{job}/{jobs}]')
|
logger.info(f'Installing {path} [{job}/{jobs}]')
|
||||||
self.heuristic_install(path)
|
self.heuristic_install(path)
|
||||||
job += 1
|
job += 1
|
||||||
|
|
||||||
|
dlogging.set_verbosity(verbosity)
|
||||||
self.mgr.commit()
|
self.mgr.commit()
|
||||||
|
|
||||||
def heuristic_install(self,
|
def heuristic_install(self,
|
||||||
|
@ -52,7 +52,7 @@ A typical example is:
|
|||||||
sd1_5 = mgr.get_model('stable-diffusion-v1-5',
|
sd1_5 = mgr.get_model('stable-diffusion-v1-5',
|
||||||
model_type=ModelType.Main,
|
model_type=ModelType.Main,
|
||||||
base_model=BaseModelType.StableDiffusion1,
|
base_model=BaseModelType.StableDiffusion1,
|
||||||
submodel_type=SubModelType.Unet)
|
submodel_type=SubModelType.UNet)
|
||||||
with sd1_5 as unet:
|
with sd1_5 as unet:
|
||||||
run_some_inference(unet)
|
run_some_inference(unet)
|
||||||
|
|
||||||
@ -688,6 +688,7 @@ class ModelManager(object):
|
|||||||
model_class = MODEL_CLASSES[cur_base_model][cur_model_type]
|
model_class = MODEL_CLASSES[cur_base_model][cur_model_type]
|
||||||
if model_class.save_to_config:
|
if model_class.save_to_config:
|
||||||
model_config.error = ModelError.NotFound
|
model_config.error = ModelError.NotFound
|
||||||
|
self.models.pop(model_key, None)
|
||||||
else:
|
else:
|
||||||
self.models.pop(model_key, None)
|
self.models.pop(model_key, None)
|
||||||
else:
|
else:
|
||||||
|
@ -80,6 +80,7 @@
|
|||||||
"i18next-browser-languagedetector": "^7.0.2",
|
"i18next-browser-languagedetector": "^7.0.2",
|
||||||
"i18next-http-backend": "^2.2.1",
|
"i18next-http-backend": "^2.2.1",
|
||||||
"konva": "^9.2.0",
|
"konva": "^9.2.0",
|
||||||
|
"linters": "^0.0.5",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"nanostores": "^0.9.2",
|
"nanostores": "^0.9.2",
|
||||||
"openapi-fetch": "^0.4.0",
|
"openapi-fetch": "^0.4.0",
|
||||||
@ -133,14 +134,14 @@
|
|||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
"babel-plugin-transform-imports": "^2.0.0",
|
"babel-plugin-transform-imports": "^2.0.0",
|
||||||
"concurrently": "^8.2.0",
|
"concurrently": "^8.2.0",
|
||||||
"eslint": "^8.43.0",
|
"eslint": "^8.44.0",
|
||||||
"eslint-config-prettier": "^8.8.0",
|
"eslint-config-prettier": "^8.8.0",
|
||||||
"eslint-plugin-prettier": "^4.2.1",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"eslint-plugin-react": "^7.32.2",
|
"eslint-plugin-react": "^7.32.2",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
"husky": "^8.0.3",
|
"husky": "^8.0.3",
|
||||||
"lint-staged": "^13.2.2",
|
"lint-staged": "^13.2.3",
|
||||||
"madge": "^6.1.0",
|
"madge": "^6.1.0",
|
||||||
"openapi-types": "^12.1.3",
|
"openapi-types": "^12.1.3",
|
||||||
"openapi-typescript": "^6.2.8",
|
"openapi-typescript": "^6.2.8",
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user