Hi,
This PR enables a user to install this project without requiring them to
have anaconda or git pre-installed. This reduces unnecessary friction
for users who aren't programmers or very technical. If a user already
has anaconda or git pre-installed, these scripts will just pass-through
and won't affect them. Honestly, it's just more straightforward for a
user to use. :)
## Current installation process for a user:
1. Install Anaconda
2. Install Git
3. Run the commands for a git pull (on Windows)
4. Run the webui script
## Suggested new process (for Windows and Linux):
1. Download the `install.bat` or `install.sh` script for their OS
(linked below, or better, from a release on your project)
2. Run the script
That's it.
Main improvement: The user doesn't need to have python/anaconda/git
pre-installed. This reduces unnecessary friction for non-technical
users.
## 1-click Installers:
* Windows:
https://raw.githubusercontent.com/cmdr2/hlky-webui/master/installer/install.bat
* Linux:
https://raw.githubusercontent.com/cmdr2/hlky-webui/master/installer/install.sh
-----
I've tested this on Windows x64 and Linux x64. I've tested this with and
without Anaconda pre-installed. I've also tested it works if the
installer gets interrupted mid-way, and needs to be re-run.
**Disclosure:** I'm the author of the cmdr2 UI and 1-click installer
(https://github.com/cmdr2/stable-diffusion-ui). We use a similar
approach and it's been working quite well (~2k installs/day) for over
1.5 months. None of the support issue have been due to this
bootstrapping process, but rather due to the usual pip failures, VPN
issues, bad system config etc.
## How it works:
1. This script will install git and conda (if not found on the system
PATH) using `micromamba` (an 8mb static-linked single-file binary, conda
replacement). The micromamba binary will be downloaded if necessary
using curl.
For users who already have git and python, this step will be skipped.
2. Next, it'll checkout the project's git repo, if necessary. On Linux,
it'll download and run the
[linux-sd.sh](https://raw.githubusercontent.com/JoshuaKimsey/Linux-StableDiffusion-Script/main/linux-sd.sh)
script, like how the installation guide suggests.
3. Finally, it'll start `webui.cmd` on Windows. On Linux, the
linux-sd.sh script takes care of this step.
After installation, users can continue running `webui.cmd` or `webui.sh`
directly. It'll use either the git/python/conda that was installed
through this installer, or the user's existing git/python/conda
installation.
## Next steps (if you wish to adopt this)
If you're willing, then the next steps are:
1. Merging this PR will get the installer scripts into the `installer`
folder
2. Uploading the installer files to a GitHub release, or using the
upload links inside this PR
3. Updating the README with the download links for the installer. I can
submit the PR for the README, if you're interested.
If you're interested in this, I'd definitely suggest phasing this in
gradually, maybe suggested as an easier alternative on the docs, until
it is judged stable to use.
Thanks! :)
# Checklist:
- [y] I have changed the base branch to `dev`
- [y] I have performed a self-review of my own code
- [y] I have commented my code in hard-to-understand areas
- [y] I have made corresponding changes to the documentation
# Description
- Added a basic implementation of
[Barfi](https://github.com/krish-adi/barfi) under the Tools menu which
should allow us to create nodes for a node/flow based content generation
and potentially allowing us to connect the UI with external apps like
Houdini, Blender,etc.
- Added basic post-processing tab which is still being worked on.
Fixes#1522, #1604, #1453
LDSR changes in 0c03cedeb9 don't always
set the session_state keys depending on which combination of post
processing models are installed.
Resolves errors such as
`KeyError: 'st.session_state has no key "use_LDSR"`
`KeyError: 'st.session_state has no key "GFPGAN_model"`
sd_utils changes set these values to defaults when available check fails
The other changes prevent errors if LDSR is installed without RealESRGAN
eg:
`File "scripts\txt2vid.py", line 1788, in layout
index=upscaling_method_list.index(st.session_state['defaults'].general.upscaling_method))
ValueError: 'RealESRGAN' is not in list`
# Description
as above. in case your grandma wants to use it.
# Checklist:
- [x] I have changed the base branch to `dev`
- [x] I have performed a self-review of my own code
- [x] I have commented my code in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
# Description
Added a config cell for the Colab instance. Now it can pre-fetch models.
Folder on Google drive can be specified. If models are found there, they
will be symlinked instead of downloaded. Any models found in folder, but
not in download list, will be symlinked to models/custom. Also added
comments to code and titles to cells.
Should just be able to enter settings in first cell, then hit 'run all'.
Well... twice.
# Checklist:
- [x] I have changed the base branch to `dev`
- [x] I have performed a self-review of my own code
- [x] I have commented my code in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
Added a config cell for the Colab instance. Now it can pre-fetch models. Folder on Google drive can be specified. If models are found there, they will be symlinked instead of downloaded. Any models found in folder, but not in download list, will be symlinked to models/custom.
Also added comments to code and titles to cells.
Should just be able to enter settings in first cell, then hit 'run all'.
Well... twice.