0.参考
本项目:GitHub - lllyasviel/Fooocus: Focus on prompting and generating
作者:Lvmin Zhang
编辑
lllyasviel
另一杰作 ContorlNet https://github.com/lllyasviel/ControlNet
模型:https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0
https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0_0.9vae.safetensors
https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0_0.9vae.safetensors
依赖项目:
GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI
GitHub - comfyanonymous/ComfyUI: A powerful and modular stable diffusion GUI with a graph/nodes interface.
1.摘要
Fooocus 是一款图像生成软件(基于Gradio)。
Fooocus 是对 Stable Diffusion 和 Midjourney 设计的重新思考:
-
学习自Stable Diffusion,该软件是离线、开源、免费的。
-
从Midjourney了解到,不需要手动调整,用户只需关注提示和图像即可。
Fooocus 包含并自动化了许多内部优化和质量改进。用户可以忘记所有那些困难的技术参数,只享受人与计算机之间的交互,“探索新的思维媒介,扩展人类的想象力” [1]
。
Fooocus 简化了安装。在按下“下载”和生成第一张图像之间,所需的鼠标点击次数严格限制在 3 次以内。最低 GPU 内存要求为 4GB (Nvidia)。
最重要的是,部署好之后,断网可用!
2.效果预览
临时体验链接(3天有效):Fooocus 2.0.0 http://t.csdn.cn/mx6V2
话不多说,直接上图。
提示词:一蓑烟雨任平生
提示词:中国风的女子和建筑
提示词:海底世界
提示词:未来地球幻想
提示词:江雨霏霏江草齐
提示词:追星星的男孩
最新版本添加了修图功能 https://github.com/lllyasviel/Fooocus/discussions/390
添加蒙版自动抠图功能 https://github.com/lllyasviel/Fooocus/discussions/414
添加蒙版区域
保持相同的提示词,选择照片为1张,再生成一次即可
3.环境准备
看完上面的AIGC图片,是不是跃跃欲试。
3.1.硬件配置
最低要求是4GB Nvidia GPU 内存 (4GB VRAM)和8GB 系统内存 (8GB RAM)。
3.2. 安装Nvidia驱动程序和Conda工具包
未安装Nvidia请参考
NVIDIA GPU驱动和CUDA工具包 Linux CentOS 7 在线安装指南_Entropy-Go的博客-CSDN博客
Linux CentOS安装NVIDIA GPU驱动程序和NVIDIA CUDA工具包_centos安装nvidia驱动_Entropy-Go的博客-CSDN博客
3.3. 安装Conda
CentOS 上快速安装包管理工具Conda_Entropy-Go的博客-CSDN博客
4.Linux上部署项目Fooocus
4.1. git克隆下载或者下载项目
git clone https://github.com/lllyasviel/Fooocus.git
4.2. conda激活
cd Fooocus
conda env create -f environment.yaml
conda activate fooocus
如conda环境变量没有正常设置,可以初始化
conda init bash
4.3. 安装依赖库
pip install -r requirements_versions.txt
4.4.运行
然后下载模型:从这里下载 sd_xl_base_1.0_0.9vae.safetensors作为文件“Fooocus\models\checkpoints\sd_xl_base_1.0_0.9vae.safetensors”,并从这里下载 sd_xl_refiner_1.0_0.9vae.safetensors作为文件“Fooocus” \models\checkpoints\sd_xl_refiner_1.0_0.9vae.safetensors”。或者让 Fooocus使用启动器自动下载模型 launch.py。
4.4.1. 本机访问
python launch.py
第一次运行时,会下载模型和依赖库,确保网络连接正常。
运行成功
Fooocus Expansion engine loaded.
App started successful. Use the app with http://localhost:7860/ or 127.0.0.1:7860
直接浏览器访问
http://localhost:7860/
127.0.0.1:7860
默认端口是7860,也可以通过--port参数指定端口号
python launch.py --port 8888
4.4.2. 局域网访问
或者,如果您想打开远程端口,请使用
python launch.py --listen
Fooocus Expansion engine loaded.
App started successful. Use the app with http://localhost:7860/ or 0.0.0.0:7860
4.4.3. 临时公网访问
python launch.py --listen --share
可72小时内,公网访问唯一的临时地址 https://b54bc590bc4bfdf404.gradio.live
Running on public URL: https://b54bc590bc4bfdf404.gradio.live
This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)
Fooocus Expansion engine loaded.
App started successful. Use the app with http://localhost:7860/ or 0.0.0.0:7860 or https://b54bc590bc4bfdf404.gradio.live
5.Windows上部署项目Fooocus
您可以直接下载Fooocus:
>>>点击此处下载<<<
下载文件后,请将其解压缩,然后运行“run.bat”。
编辑
第一次启动软件时,它会自动下载模型:
- 它将从此处下载 sd_xl_base_1.0_0.9vae.safetensors作为文件“Fooocus\models\checkpoints\sd_xl_base_1.0_0.9vae.safetensors”。
- 它将从此处下载 sd_xl_refiner_1.0_0.9vae.safetensors作为文件“Fooocus\models\checkpoints\sd_xl_refiner_1.0_0.9vae.safetensors”。
编辑
如果您已有这些文件,可以将它们复制到上述位置以加快安装速度。
请注意,如果您看到“MetadataIncompleteBuffer”,则您的模型文件已损坏。请重新下载模型。
下面是在一台具有16GB 系统 RAM和6GB VRAM的相对低端笔记本电脑(Nvidia 3060 笔记本电脑)上进行的测试。这台机器上的速度约为每次迭代 1.35 秒。相当令人印象深刻——如今配备 3060 的笔记本电脑通常价格非常可接受。
编辑
此外,最近许多其他软件报告称 Nvidia 532 以上的驱动程序有时比 Nvidia 驱动程序 531 慢 10 倍。如果您的生成时间很长,请考虑下载Nvidia Driver 531 Laptop或Nvidia Driver 531 Desktop。
请注意,最低要求是4GB Nvidia GPU 内存 (4GB VRAM)和8GB 系统内存 (8GB RAM)。这需要使用 Microsoft 的虚拟交换技术,在大多数情况下,Windows 安装会自动启用该技术,因此您通常不需要对此执行任何操作。但是,如果您不确定,或者您手动将其关闭(真的有人会这样做吗?),或者如果您看到任何“RuntimeError:CPUAllocator”,您可以在此处启用它:
单击此处查看图像说明。编辑
如果您仍然看到“RuntimeError: CPUAllocator”,请确保每个驱动器上至少有 40GB 可用空间!
6.开始体验AIGC绘图之旅
6.1.浏览器访问对应的链接
6.2.输入提示词,直接生成图片
可中文输入提示词,默认生成2张图片。默认配置点击Advance进行勾选设置。
6.3.设置
6.4.风格
6.5.高级功能
6.6.绘图中
对应的模型推理过程:
############################generate_clicked
############################args: ('logo with "CSDN" charaters', '', ['Fooocus V2', 'Default (Slightly Cinematic)'], 'Speed', '1344?04', 2, 652019699, 2, 'sd_xl_base_1.0_0.9vae.safetensors', 'sd_xl_refiner_1.0_0.9vae.safetensors', 'sd_xl_offset_example-lora_1.0.safetensors', 0.5, 'None', 0.5, 'None', 0.5, 'None', 0.5, 'None', 0.5)
Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.
[Prompt Expansion] New suffix: intricate, elegant. highly detailed, digital painting, artstation, concept art, smooth, sharp, focus, illustration.. art by artgerm and greg rutkowski and alphonse mucha
Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.
[Prompt Expansion] New suffix: extremely clean, brush strokes, and octane render, trending on artstation
67%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258b | 20/30 [00:37<00:18, 1.88s/it]Refiner swapped.
100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 30/30 [00:57<00:00, 1.93s/it]
Image generated with private log at: /home/xxx/Fooocus/outputs/2023-09-14/log.html
67%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258b | 20/30 [00:37<00:18, 1.89s/it]Refiner swapped.
100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 30/30 [00:57<00:00, 1.93s/it]
Image generated with private log at: /home/xxx/Fooocus/outputs/2023-09-14/log.html
6.7.绘图成功
图片存放于 Fooocus/output/文件中。
也可以通过log.html查看所有提示词及生成记录
http://localhost:8888/file=./outputs/2023-09-16/log.html
6.8. 模型推理调用时的GPU计算资源
剩余GPU资源也基本被拉满,玩AI深度学习可以考虑战略性囤显卡,将算力拉满。
nvidia-smi
Thu Sep 14 05:53:55 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.10 Driver Version: 535.86.10 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 Tesla P100-PCIE-16GB Off | 00000000:31:00.0 Off | 0 |
| N/A 59C P0 217W / 250W | 16022MiB / 16384MiB | 99% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 37726 C python 10930MiB |
| 0 N/A N/A 39923 C /opt/tabby/bin/tabby 5090MiB |
+---------------------------------------------------------------------------------------+
7.FAQ
7.1. 问题1
Git clone failed for Inference Engine: failed to resolve address for github.com: Name or service not known
ImportError: cannot import name 'load_additional_models' from 'comfy.sample' (/home/atanu/Workspace/project-diffusers/Fooocus/repositories/ComfyUI-from-StabilityAI-Official/comfy/sample.py)
解决方法:网络不通,访问github失败,clone失败,可解决网络连接代理配置,或者手动下载
GitHub - comfyanonymous/ComfyUI: A powerful and modular stable diffusion GUI with a graph/nodes interface.
并将 ComfyUI改名为 ComfyUI-from-StabilityAI-Official, 存放于 /home/xxx/Fooocus/repositories/
注释launch.py中的git_clone
comfyui_name = 'ComfyUI-from-StabilityAI-Official'# git_clone(comfy_repo, repo_dir(comfyui_name), "Inference Engine", comfy_commit_hash)sys.path.append(os.path.join(script_path, dir_repos, comfyui_name))
7.2. 问题2
ValueError: When localhost is not accessible, a shareable link must be created. Please set share=True.
浏览器上访问Fooocus成功,但是点击generate/advance报错Expecting value: line 1 column 1 (char 0)
解决方法: 添加环境变量no_proxy
export no_proxy=localhost,127.0.0.1
7.3. 问题3
浏览器打开Fooocus,一直显示在加载,很久才出现或者不出现正常输入生成按钮的界面。
建议检查代理,将本机IP也加入到浏览器或者电脑设置的白名单中,其他访问外网地址的代理正常开启。
7.4. 问题4
如果git pull项目之后出现新的依赖库问题,比如 torch, xformers 等不匹配无法调用cuda。
打开 ~/Fooocus/launch.py ,修改重新安装开关
REINSTALL_ALL = True
7.5. 更多问题
https://github.com/lllyasviel/Fooocus/issues