Non-cherry-picked first batch genrated,
without any parameter tweaking, without any strange prompt tags all default settings.
DFooocus lightning is lightning version of Fooocus (https://github.com/lllyasviel/Fooocus)
DFooocus lightning is an image generating software (based on Gradio).
You can directly download Fooocus with:
>>> Click here to download <<<
After you download the file, please uncompress it and then run the "run.bat".
The first time you launch the software, it will automatically download models:
- It will download default models to the folder "Fooocus\models\checkpoints" given different presets. You can download them in advance if you do not want automatic download.
- Note that if you use inpaint, at the first time you inpaint an image, it will download Fooocus's own inpaint control model from here as the file "Fooocus\models\inpaint\inpaint_v26.fooocus.patch" (the size of this file is 1.28GB).
If you already have these files, you can copy them to the above locations to speed up installation.
Note that if you see "MetadataIncompleteBuffer" or "PytorchStreamReader", then your model files are corrupted. Please download models again.
Besides, recently many other software report that Nvidia driver above 532 is sometimes 10x slower than Nvidia driver 531. If your generation time is very long, consider download Nvidia Driver 531 Laptop or Nvidia Driver 531 Desktop.
Please open an issue if you use similar devices but still cannot achieve acceptable performances.
See also the common problems and troubleshoots here.
(Last tested - 2024 march 09)
Colab | Info |
---|---|
DFooocus lightening |
If you want to use Anaconda/Miniconda, you can
git clone https://github.com/dcryptoniun/DFooocus_lightning.git
cd DFooocus_lightning
conda env create -f environment.yaml
conda activate fooocus
pip install -r requirements_versions.txt
conda activate fooocus
python entry_with_update.py
Or, if you want to open a remote port, use
conda activate fooocus
python entry_with_update.py --listen
Use python entry_with_update.py --preset anime
or python entry_with_update.py --preset realistic
for Fooocus Anime/Realistic Edition.
Your Linux needs to have Python 3.10 installed, and let's say your Python can be called with the command python3 with your venv system working; you can
git clone https://github.com/dcryptoniun/DFooocus_lightning.git
cd DFooocus_lightning
python3 -m venv fooocus_env
source fooocus_env/bin/activate
pip install -r requirements_versions.txt
See the above sections for model downloads. You can launch the software with:
source fooocus_env/bin/activate
python entry_with_update.py
Or, if you want to open a remote port, use
source fooocus_env/bin/activate
python entry_with_update.py --listen
Use python entry_with_update.py --preset anime
or python entry_with_update.py --preset realistic
for Fooocus Anime/Realistic Edition.
If you know what you are doing, and your Linux already has Python 3.10 installed, and your Python can be called with the command python3 (and Pip with pip3), you can
git clone https://github.com/lllyasviel/DFooocus_lightning.git
cd DFooocus_lightning
pip3 install -r requirements_versions.txt
See the above sections for model downloads. You can launch the software with:
python3 entry_with_update.py
Or, if you want to open a remote port, use
python3 entry_with_update.py --listen
Use python entry_with_update.py --preset anime
or python entry_with_update.py --preset realistic
for Fooocus Anime/Realistic Edition.
Note that the minimal requirement for different platforms is different.
Same with the above instructions. You need to change torch to the AMD version
pip uninstall torch torchvision torchaudio torchtext functorch xformers
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6
AMD is not intensively tested, however. The AMD support is in beta.
Use python entry_with_update.py --preset anime
or python entry_with_update.py --preset realistic
for Fooocus Anime/Realistic Edition.
Note that the minimal requirement for different platforms is different.
Same with Windows. Download the software and edit the content of run.bat
as:
.\python_embeded\python.exe -m pip uninstall torch torchvision torchaudio torchtext functorch xformers -y
.\python_embeded\python.exe -m pip install torch-directml
.\python_embeded\python.exe -s Fooocus\entry_with_update.py --directml
pause
Then run the run.bat
.
AMD is not intensively tested, however. The AMD support is in beta.
For AMD, use .\python_embeded\python.exe entry_with_update.py --directml --preset anime
or .\python_embeded\python.exe entry_with_update.py --directml --preset realistic
for Fooocus Anime/Realistic Edition.
Note that the minimal requirement for different platforms is different.
Mac is not intensively tested. Below is an unofficial guideline for using Mac. You can discuss problems here.
You can install Fooocus on Apple Mac silicon (M1 or M2) with macOS 'Catalina' or a newer version. Fooocus runs on Apple silicon computers via PyTorch MPS device acceleration. Mac Silicon computers don't come with a dedicated graphics card, resulting in significantly longer image processing times compared to computers with dedicated graphics cards.
- Install the conda package manager and pytorch nightly. Read the Accelerated PyTorch training on Mac Apple Developer guide for instructions. Make sure pytorch recognizes your MPS device.
- Open the macOS Terminal app and clone this repository with
git clone https://github.com/dcryptoniun/DFooocus_lightning.git
. - Change to the new Fooocus directory,
cd DFooocus_lightning
. - Create a new conda environment,
conda env create -f environment.yaml
. - Activate your new conda environment,
conda activate fooocus
. - Install the packages required by Fooocus,
pip install -r requirements_versions.txt
. - Launch Fooocus by running
python entry_with_update.py
. (Some Mac M2 users may needpython entry_with_update.py --disable-offload-from-vram
to speed up model loading/unloading.) The first time you run Fooocus, it will automatically download the Stable Diffusion SDXL models and will take a significant amount of time, depending on your internet connection.
Use python entry_with_update.py --preset anime
or python entry_with_update.py --preset realistic
for Fooocus Anime/Realistic Edition.
See the common problems here.
Given different goals, the default models and configs of Fooocus are different:
Note that the download is automatic - you do not need to do anything if the internet connection is okay. However, you can download them manually if you (or move them from somewhere else) have your own preparation.
In addition to running on localhost, Fooocus can also expose its UI in two ways:
- Local UI listener: use
--listen
(specify port e.g. with--port 8888
). - API access: use
--share
(registers an endpoint at.gradio.live
).
In both ways the access is unauthenticated by default. You can add basic authentication by creating a file called auth.json
in the main directory, which contains a list of JSON objects with the keys user
and pass
(see example in auth-example.json).
After the first time you run Fooocus, a config file will be generated at Fooocus\config.txt
. This file can be edited to change the model path or default parameters.
For example, an edited Fooocus\config.txt
(this file will be generated after the first launch) may look like this:
{
"path_checkpoints": "D:\\Fooocus\\models\\checkpoints",
"path_loras": "D:\\Fooocus\\models\\loras",
"path_embeddings": "D:\\Fooocus\\models\\embeddings",
"path_vae_approx": "D:\\Fooocus\\models\\vae_approx",
"path_upscale_models": "D:\\Fooocus\\models\\upscale_models",
"path_inpaint": "D:\\Fooocus\\models\\inpaint",
"path_controlnet": "D:\\Fooocus\\models\\controlnet",
"path_clip_vision": "D:\\Fooocus\\models\\clip_vision",
"path_fooocus_expansion": "D:\\Fooocus\\models\\prompt_expansion\\fooocus_expansion",
"path_outputs": "D:\\Fooocus\\outputs",
"default_model": "realisticStockPhoto_v10.safetensors",
"default_refiner": "",
"default_loras": [["lora_filename_1.safetensors", 0.5], ["lora_filename_2.safetensors", 0.5]],
"default_cfg_scale": 3.0,
"default_sampler": "dpmpp_2m",
"default_scheduler": "karras",
"default_negative_prompt": "low quality",
"default_positive_prompt": "",
"default_styles": [
"Fooocus V2",
"Fooocus Photograph",
"Fooocus Negative"
]
}
Many other keys, formats, and examples are in Fooocus\config_modification_tutorial.txt
(this file will be generated after the first launch).
Consider twice before you really change the config. If you find yourself breaking things, just delete Fooocus\config.txt
. Fooocus will go back to default.
A safer way is just to try "run_anime.bat" or "run_realistic.bat" - they should already be good enough for different tasks.
Note that (Edit: it is already removed.)user_path_config.txt
is deprecated and will be removed soon.
entry_with_update.py [-h] [--listen [IP]] [--port PORT]
[--disable-header-check [ORIGIN]]
[--web-upload-size WEB_UPLOAD_SIZE]
[--external-working-path PATH [PATH ...]]
[--output-path OUTPUT_PATH] [--temp-path TEMP_PATH]
[--cache-path CACHE_PATH] [--in-browser]
[--disable-in-browser] [--gpu-device-id DEVICE_ID]
[--async-cuda-allocation | --disable-async-cuda-allocation]
[--disable-attention-upcast] [--all-in-fp32 | --all-in-fp16]
[--unet-in-bf16 | --unet-in-fp16 | --unet-in-fp8-e4m3fn | --unet-in-fp8-e5m2]
[--vae-in-fp16 | --vae-in-fp32 | --vae-in-bf16]
[--clip-in-fp8-e4m3fn | --clip-in-fp8-e5m2 | --clip-in-fp16 | --clip-in-fp32]
[--directml [DIRECTML_DEVICE]] [--disable-ipex-hijack]
[--preview-option [none,auto,fast,taesd]]
[--attention-split | --attention-quad | --attention-pytorch]
[--disable-xformers]
[--always-gpu | --always-high-vram | --always-normal-vram |
--always-low-vram | --always-no-vram | --always-cpu [CPU_NUM_THREADS]]
[--always-offload-from-vram] [--disable-server-log]
[--debug-mode] [--is-windows-embedded-python]
[--disable-server-info] [--share] [--preset PRESET]
[--language LANGUAGE] [--disable-offload-from-vram]
[--theme THEME] [--disable-image-log]
You can put json files in the language
folder to translate the user interface.
For example, below is the content of Fooocus/language/example.json
:
{
"Generate": "生成",
"Input Image": "入力画像",
"Advanced": "고급",
"SAI 3D Model": "SAI 3D Modèle"
}
If you add --language example
arg, Fooocus will read Fooocus/language/example.json
to translate the UI.
For example, you can edit the ending line of Windows run.bat
as
.\python_embeded\python.exe -s Fooocus\entry_with_update.py --language example
For practical translation, you may create your own file like Fooocus/language/jp.json
or Fooocus/language/cn.json
and then use flag --language jp
or --language cn
. Apparently, these files do not exist now. We need your help to create these files!
Note that if no --language
is given and at the same time Fooocus/language/default.json
exists, Fooocus will always load Fooocus/language/default.json
for translation. By default, the file Fooocus/language/default.json
does not exist.
We need your help! Please help optimise Dfooocus lightning.