Fooocus(https://github.com/lllyasviel/Fooocus)是作者lllyasviel结合Midjourney 操作逻辑制作的Stable Diffusion 绘图软件,相比Stable Diffusion webui和comfyui省去了大量的参数设置,软件致力于“一键出图”,简单的设置便可以产出高质量图像,在AI绘图用户群中也有不小的热度,本篇就简单分享下如何在I卡上部署Fooocus。
先说下部署思路:
1、Fooocus本体代码;
2、I卡的pytorch系列包,即ipex,这个就用Nuullll佬编译好的,给大佬点赞;
3、Fooocus启动运行所需依赖,这个在根目录的requirements_versions.txt;
4、设置参数,启动!
我前面也写过comfyui的部署(网页链接),大体步骤是类似的。
在进行命令行安装之前需要电脑已经安装了git和python或者conda,并已经添加了对应的环境变量,当然,知道一点命令行指令,I卡整合包里面的git和Python也是可以用的。
在需要安装Fooocus的文件夹资源管理器地址栏中输入CMD或者powershell打开对应的命令行工具,然后依次输入以下命令(我以conda创建虚拟环境演示,直接用python可以参照https://pd.qq.com/s/ai0syqcc7,括号内的不用复制):
git clone https://github.com/lllyasviel/Fooocus.git (克隆仓库代码)
cd Fooocus (进入Fooocus目录)
conda create -p ./venv python=3.10(创建虚拟环境)
conda activate ./venv (激活虚拟环境)
pip install https://github.com/Nuullll/intel-extension-for-pytorch/releases/download/v2.1.10%2Bxpu/intel_extension_for_pytorch-2.1.10+xpu-cp310-cp310-win_amd64.whl https://github.com/Nuullll/intel-extension-for-pytorch/releases/download/v2.1.10%2Bxpu/torch-2.1.0a0+cxx11.abi-cp310-cp310-win_amd64.whl https://github.com/Nuullll/intel-extension-for-pytorch/releases/download/v2.1.10%2Bxpu/torchaudio-2.1.0a0+cxx11.abi-cp310-cp310-win_amd64.whl https://github.com/Nuullll/intel-extension-for-pytorch/releases/download/v2.1.10%2Bxpu/torchvision-0.16.0a0+cxx11.abi-cp310-cp310-win_amd64.whl (下载安装ipex)
pip install -r requirements_versions.txt (下载所需依赖)
python entry_with_update.py --disable-analytics --theme dark --unet-in-bf16 --vae-in-bf16 --clip-in-fp16 (配置启动参数)
到这一步就算安装好了(Fooocus默认启动会检测一些模型,如果没有需要下载),如果以后想用命令行启动就创建如下bat脚本(python创建的参照上面帖子,区别在于激活虚拟环境的命令,powershelll的类似)
@echo off
call conda activate ./venv
if %errorlevel% neq 0 exit /b %errorlevel%
python entry_with_update.py --disable-analytics --theme dark --unet-in-bf16 --vae-in-bf16 --clip-in-fp16
if %errorlevel% neq 0 exit /b %errorlevel%
call conda deactivate
@echo 启动完毕,请按任意键关闭
call pause
虽然大家都在说玩AI要准备好魔法,但是还是有很多人没有途径或者说就不想用魔法,比如说上面的部署基本都需要,尤其是下模型,详细的方法可以看看我以前写的comfyui的部署。但是fooocus启动强制性要求特定模型才能启动,并且相关模型的下载无法通过修改huggingface_hub 的环境变量来实现,接下来我就分享如何解决。
1、修改下载地址
fooocus模型文件下载配置文件主要在根目录launch.py、modules文件夹的config.py、presets文件夹里面所有的.json文件里面,修改方法为:用记事本打开前面提到的文件,用查找替换把所有的huggingface.co替换成hf-mirror.com,这样启动就可以用国内网络下载相应模型了。
2、提前下载好模型并放在对应文件夹(不推荐)
可以查看上述文件,把所需的模型提前下载好,但是我并不推荐,原因是fooocus作者对某些模型进行了重命名,有些模型还改了后缀,这样就容易出错,不如上面的方法。
3、 修改模型文件夹
Fooocus可以修改配置文件来共享SD模型,配置文件在根目录的config.txt,直接修改各类模型文件夹即可。
4、修改默认启动配置
Fooocus默认使用模型的是juggernautXL_version8Rundiffusion.safetensors,如果我们不想用也不想下载,就可以把presets文件夹default.json里面"default_model": 后面的模型修改成自己的模型。
1、fooocus默认界面是英文,我们可以去https://github.com/lllyasviel/Fooocus/pull/756下载cn.json,放在language目录,启动时添加--language cn;或者把cn.json改成default.json,这样启动默认就是中文。
2、本文部署用的都是ipex2.1,ipex2.0我没部署成功,启动会提示不支持XPU,如果有大佬成功过,希望能分享出来;
3、还有更简单的部署方法就是利用秋葉aaaki 大佬的绘世启动器,方法可以看comfyui的部署,同样的修改精度设置便就可以启动。注意在启动器启动安装requirements.txt时会报错,因为fooocus根目录只有requirements_versions.txt,这时候把requirements_versions.txt改成requirements.txt即可。
4、做了一个整合包,不保证完美运行。整合包里面没放默认的大模型,启动会自动下载或者提前下载好放在模型目录。有两种启动方式,绘世启动器和bat脚本。
fooocus:
123盘:https://www.123pan.com/s/TGb4jv-kFyN3.html提取码:i4VA 百度盘:https://pan.baidu.com/s/1jDjnaMORg-suJPnricc1Lw?pwd=1234 提取码:1234 阿里盘: https://www.alipan.com/s/EnPZWLuowSu 提取码: 88vk SimpleSDXL对中文支持不错,也做了一个 SimpleSDXL: 123盘:https://www.123pan.com/s/TGb4jv-EFyN3.html提取码:qW8j 百度盘:https://pan.baidu.com/s/1ZxdmUr-kTy7c7YKRew9TuA?pwd=1234 提取码:1234 阿里盘: https://www.alipan.com/s/j1wNCw2jdiu 提取码: l7k2 5、文中有什么错误或者不妥的地方,希望大佬能够提出来。
参考:1、https://github.com/Nuullll/intel-extension-for-pytorch/
2、https://github.com/lllyasviel/Fooocus/issues/141#issuecomment-1917404993