mirror of
https://github.com/easydiffusion/easydiffusion.git
synced 2024-11-24 17:24:29 +01:00
v3.0.8 - update diffusers to v0.26.3
This commit is contained in:
parent
e5519cda37
commit
a5b9eefcf9
@ -17,6 +17,7 @@
|
|||||||
- **Major rewrite of the code** - We've switched to using diffusers under-the-hood, which allows us to release new features faster, and focus on making the UI and installer even easier to use.
|
- **Major rewrite of the code** - We've switched to using diffusers under-the-hood, which allows us to release new features faster, and focus on making the UI and installer even easier to use.
|
||||||
|
|
||||||
### Detailed changelog
|
### Detailed changelog
|
||||||
|
* 3.0.8 - 13 Mar 2024 - Update diffusers version to v0.26.3.
|
||||||
* 3.0.7 - 11 Dec 2023 - Setting to enable/disable VAE tiling (in the Image Settings panel). Sometimes VAE tiling reduces the quality of the image, so this setting will help control that.
|
* 3.0.7 - 11 Dec 2023 - Setting to enable/disable VAE tiling (in the Image Settings panel). Sometimes VAE tiling reduces the quality of the image, so this setting will help control that.
|
||||||
* 3.0.6 - 18 Sep 2023 - Add thumbnails to embeddings from the UI, using the new `Upload Thumbnail` button in the Embeddings popup. Thanks @JeLuf.
|
* 3.0.6 - 18 Sep 2023 - Add thumbnails to embeddings from the UI, using the new `Upload Thumbnail` button in the Embeddings popup. Thanks @JeLuf.
|
||||||
* 3.0.6 - 15 Sep 2023 - Fix broken embeddings dialog when LoRA information couldn't be fetched.
|
* 3.0.6 - 15 Sep 2023 - Fix broken embeddings dialog when LoRA information couldn't be fetched.
|
||||||
|
@ -110,8 +110,9 @@ def update_modules():
|
|||||||
fail(module_name)
|
fail(module_name)
|
||||||
else:
|
else:
|
||||||
if version(module_name) != latest_version:
|
if version(module_name) != latest_version:
|
||||||
print(f"WARNING! Tried to install {module_name}=={latest_version}, but the version is still {version(module_name)}!")
|
print(
|
||||||
|
f"WARNING! Tried to install {module_name}=={latest_version}, but the version is still {version(module_name)}!"
|
||||||
|
)
|
||||||
|
|
||||||
if module_name in modules_to_log:
|
if module_name in modules_to_log:
|
||||||
print(f"{module_name}: {version(module_name)}")
|
print(f"{module_name}: {version(module_name)}")
|
||||||
@ -177,8 +178,10 @@ Thanks!"""
|
|||||||
)
|
)
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
|
||||||
### Launcher
|
### Launcher
|
||||||
|
|
||||||
|
|
||||||
def get_config():
|
def get_config():
|
||||||
config_directory = os.path.dirname(__file__) # this will be "scripts"
|
config_directory = os.path.dirname(__file__) # this will be "scripts"
|
||||||
config_yaml = os.path.join(config_directory, "..", "config.yaml")
|
config_yaml = os.path.join(config_directory, "..", "config.yaml")
|
||||||
@ -193,15 +196,17 @@ def get_config():
|
|||||||
|
|
||||||
if os.path.isfile(config_yaml):
|
if os.path.isfile(config_yaml):
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
yaml = YAML(typ='safe')
|
|
||||||
with open(config_yaml, 'r') as configfile:
|
yaml = YAML(typ="safe")
|
||||||
|
with open(config_yaml, "r") as configfile:
|
||||||
try:
|
try:
|
||||||
config = yaml.load(configfile)
|
config = yaml.load(configfile)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e, file=sys.stderr)
|
print(e, file=sys.stderr)
|
||||||
elif os.path.isfile(config_json):
|
elif os.path.isfile(config_json):
|
||||||
import json
|
import json
|
||||||
with open(config_json, 'r') as configfile:
|
|
||||||
|
with open(config_json, "r") as configfile:
|
||||||
try:
|
try:
|
||||||
config = json.load(configfile)
|
config = json.load(configfile)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -215,43 +220,43 @@ def get_config():
|
|||||||
def setup_amd_environment():
|
def setup_amd_environment():
|
||||||
if not os.access("/dev/kfd", os.W_OK):
|
if not os.access("/dev/kfd", os.W_OK):
|
||||||
print(
|
print(
|
||||||
"#########################################################################\n"
|
"#########################################################################\n"
|
||||||
+ "# EasyDiffusion has no write access to /dev/kfd. #\n"
|
+ "# EasyDiffusion has no write access to /dev/kfd. #\n"
|
||||||
+ "#########################################################################\n"
|
+ "#########################################################################\n"
|
||||||
+ "\n"
|
+ "\n"
|
||||||
+ "Without this, the ROCm driver will probably not be able to initialize the GPU and EasyDiffusion will use the CPU for rendering.\n"
|
+ "Without this, the ROCm driver will probably not be able to initialize the GPU and EasyDiffusion will use the CPU for rendering.\n"
|
||||||
+ "\n"
|
+ "\n"
|
||||||
+ "Follow the instructions on this site to configure the access:\n"
|
+ "Follow the instructions on this site to configure the access:\n"
|
||||||
+ "https://github.com/easydiffusion/easydiffusion/wiki/AMD-on-Linux#access-permissions\n"
|
+ "https://github.com/easydiffusion/easydiffusion/wiki/AMD-on-Linux#access-permissions\n"
|
||||||
+ "\n"
|
+ "\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
gpus = list(filter(lambda x: ("amdgpu" in x), open("/proc/bus/pci/devices", "r").readlines()))
|
gpus = list(filter(lambda x: ("amdgpu" in x), open("/proc/bus/pci/devices", "r").readlines()))
|
||||||
gpus = [ x.split("\t")[1].upper() for x in gpus ]
|
gpus = [x.split("\t")[1].upper() for x in gpus]
|
||||||
gpus = [ AMD_PCI_IDs[x] for x in gpus if x in AMD_PCI_IDs ]
|
gpus = [AMD_PCI_IDs[x] for x in gpus if x in AMD_PCI_IDs]
|
||||||
i=0
|
i = 0
|
||||||
supported_gpus=[]
|
supported_gpus = []
|
||||||
for gpu in gpus:
|
for gpu in gpus:
|
||||||
print(f"Found AMD GPU {gpu}.")
|
print(f"Found AMD GPU {gpu}.")
|
||||||
if gpu.startswith("Navi 1"):
|
if gpu.startswith("Navi 1"):
|
||||||
print("--- Applying Navi 1 settings")
|
print("--- Applying Navi 1 settings")
|
||||||
os.environ["HSA_OVERRIDE_GFX_VERSION"]="10.3.0"
|
os.environ["HSA_OVERRIDE_GFX_VERSION"] = "10.3.0"
|
||||||
os.environ["FORCE_FULL_PRECISION"]="yes"
|
os.environ["FORCE_FULL_PRECISION"] = "yes"
|
||||||
os.environ["HIP_VISIBLE_DEVICES"]=str(i)
|
os.environ["HIP_VISIBLE_DEVICES"] = str(i)
|
||||||
supported_gpus.append("Navi 1")
|
supported_gpus.append("Navi 1")
|
||||||
elif gpu.startswith("Navi 2"):
|
elif gpu.startswith("Navi 2"):
|
||||||
print("--- Applying Navi 2 settings")
|
print("--- Applying Navi 2 settings")
|
||||||
os.environ["HSA_OVERRIDE_GFX_VERSION"]="10.3.0"
|
os.environ["HSA_OVERRIDE_GFX_VERSION"] = "10.3.0"
|
||||||
os.environ["HIP_VISIBLE_DEVICES"]=str(i)
|
os.environ["HIP_VISIBLE_DEVICES"] = str(i)
|
||||||
supported_gpus.append("Navi 2")
|
supported_gpus.append("Navi 2")
|
||||||
elif gpu.startswith("Navi 3"):
|
elif gpu.startswith("Navi 3"):
|
||||||
print("--- Applying Navi 3 settings")
|
print("--- Applying Navi 3 settings")
|
||||||
os.environ["HSA_OVERRIDE_GFX_VERSION"]="11.0.0"
|
os.environ["HSA_OVERRIDE_GFX_VERSION"] = "11.0.0"
|
||||||
os.environ["HIP_VISIBLE_DEVICES"]=str(i)
|
os.environ["HIP_VISIBLE_DEVICES"] = str(i)
|
||||||
supported_gpus.append("Navi 3")
|
supported_gpus.append("Navi 3")
|
||||||
else:
|
else:
|
||||||
print("--- This GPU is probably not supported by ROCm\n")
|
print("--- This GPU is probably not supported by ROCm\n")
|
||||||
i+=1
|
i += 1
|
||||||
return supported_gpus
|
return supported_gpus
|
||||||
|
|
||||||
|
|
||||||
@ -260,7 +265,7 @@ def launch_uvicorn():
|
|||||||
|
|
||||||
pprint(config)
|
pprint(config)
|
||||||
|
|
||||||
with open("scripts/install_status.txt","a") as f:
|
with open("scripts/install_status.txt", "a") as f:
|
||||||
f.write("sd_weights_downloaded\n")
|
f.write("sd_weights_downloaded\n")
|
||||||
f.write("sd_install_complete\n")
|
f.write("sd_install_complete\n")
|
||||||
|
|
||||||
@ -268,9 +273,9 @@ def launch_uvicorn():
|
|||||||
|
|
||||||
os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1"
|
os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1"
|
||||||
if os_name == "Windows":
|
if os_name == "Windows":
|
||||||
os.environ["PYTHONPATH"] = str(Path( os.environ["INSTALL_ENV_DIR"], "lib", "site-packages"))
|
os.environ["PYTHONPATH"] = str(Path(os.environ["INSTALL_ENV_DIR"], "lib", "site-packages"))
|
||||||
else:
|
else:
|
||||||
os.environ["PYTHONPATH"] = str(Path( os.environ["INSTALL_ENV_DIR"], "lib", "python3.8", "site-packages"))
|
os.environ["PYTHONPATH"] = str(Path(os.environ["INSTALL_ENV_DIR"], "lib", "python3.8", "site-packages"))
|
||||||
os.environ["SD_UI_PATH"] = str(Path(Path.cwd(), "ui"))
|
os.environ["SD_UI_PATH"] = str(Path(Path.cwd(), "ui"))
|
||||||
|
|
||||||
print(f"PYTHONPATH={os.environ['PYTHONPATH']}")
|
print(f"PYTHONPATH={os.environ['PYTHONPATH']}")
|
||||||
@ -297,7 +302,10 @@ def launch_uvicorn():
|
|||||||
setup_amd_environment()
|
setup_amd_environment()
|
||||||
|
|
||||||
print("\nLaunching uvicorn\n")
|
print("\nLaunching uvicorn\n")
|
||||||
os.system(f'python -m uvicorn main:server_api --app-dir "{os.environ["SD_UI_PATH"]}" --port {listen_port} --host {bind_ip} --log-level error')
|
os.system(
|
||||||
|
f'python -m uvicorn main:server_api --app-dir "{os.environ["SD_UI_PATH"]}" --port {listen_port} --host {bind_ip} --log-level error'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Start
|
### Start
|
||||||
|
|
||||||
@ -1102,5 +1110,5 @@ AMD_PCI_IDs = {
|
|||||||
|
|
||||||
update_modules()
|
update_modules()
|
||||||
|
|
||||||
if len(sys.argv) > 1 and sys.argv[1]=="--launch-uvicorn":
|
if len(sys.argv) > 1 and sys.argv[1] == "--launch-uvicorn":
|
||||||
launch_uvicorn()
|
launch_uvicorn()
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
<h1>
|
<h1>
|
||||||
<img id="logo_img" src="/media/images/icon-512x512.png" >
|
<img id="logo_img" src="/media/images/icon-512x512.png" >
|
||||||
Easy Diffusion
|
Easy Diffusion
|
||||||
<small><span id="version">v3.0.7</span> <span id="updateBranchLabel"></span></small>
|
<small><span id="version">v3.0.8</span> <span id="updateBranchLabel"></span></small>
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div id="server-status">
|
<div id="server-status">
|
||||||
|
Loading…
Reference in New Issue
Block a user