首页 / 开源项目 / 正文
开源项目

Fooocus怎么用?从本地部署、模型配置到出图优化的完整指南

chuanbook chuanbook
发布于 2026 年 10 月 08 日
阅读 约34分钟
浏览 3
评论 0

我第一次接触 Fooocus 的时候,心里其实有个很直接的疑问——市面上 Stable Diffusion 的客户端已经够多了,WebUI 功能全得吓人,ComfyUI 节点玩得飞起,为什么还要多一个?用了一段时间之后我才慢慢明白,Fooocus 走的是另一条路。它压根没想跟那些“全能选手”比功能数量,而是把心思花在了一件事上:让你打开就能出好图。

Fooocus 的核心设计理念与功能边界

我自己最直观的感受是,Fooocus 把“简单”当成了一种设计哲学,而不是功能缺失的借口。它的界面只有几个输入框和按钮,提示词写上去,点一下生成,图就出来了。背后其实藏了不少自动化的东西,比如自动识别提示词里的关键词去匹配风格、自动决定采样步数、自动处理负面提示词的默认值。这些活儿在 WebUI 里得手动调半天,Fooocus 直接帮你做了决定。

不过这种设计也有边界。它不让你随便去折腾节点,不开放太多底层参数,很多东西被封装起来了。我一开始觉得这是限制,后来发现对大多数人来说,这些“被藏起来”的参数本来就不该是重点。Fooocus 想服务的,是那些想快速拿到可用结果、不想在参数海洋里迷路的人。

功能边界上,Fooocus 支持文生图、图生图、局部重绘、放大这些常用操作,也支持 LoRA 和 ControlNet 的加载。但它没有 ComfyUI 那种复杂的节点编排能力,也不像 WebUI 那样有海量的插件生态。它给自己的定位很清晰:一个轻量、稳定、开箱即用的出图工具,而不是一个折腾平台。

Fooocus 与其他 Stable Diffusion 客户端的差异

我用过一阵子 WebUI,那种感觉像是拿到了一台手动挡跑车,什么都能调,但你也得懂怎么调。Fooocus 更像是一辆自动挡的车,上车挂挡就走。它默认启用了非常合理的参数组合,采样器、CFG、步数这些都不需要你操心。我试过用同样的提示词在两边跑,Fooocus 出来的图往往不需要怎么修就能用。

跟 ComfyUI 比,差异就更明显了。ComfyUI 的强项是工作流编排和精准控制,适合做复杂流程和批量生产。Fooocus 则反过来,它把工作流压缩成一个动作,你只管描述你想要的画面。我曾经试图在 Fooocus 里复刻 ComfyUI 的某个多阶段工作流,发现根本没必要,Fooocus 自己内部已经在做类似的分阶段处理了,只是我看不到而已。

还有一个让我挺在意的点:Fooocus 对显存的要求相对友好。它在低显存模式下能跑到 4GB 左右,这在 WebUI 上得折腾不少启动参数。对于手头显卡不算顶配的人来说,这个差异挺实在的。

适合人群、学习成本与典型应用场景

我一直觉得 Fooocus 最适合三类人。第一类是刚接触 AI 绘画的新手,不想花一周时间学参数,只想先出图找感觉。第二类是设计师或者内容创作者,需要快速出草图和概念图,时间比控制精度更重要。第三类是那些用 WebUI 用累了、想找个更省心工具的老玩家。

学习成本这块,我自己上手大概花了不到半小时。界面上的东西一眼能看完,提示词怎么写、风格怎么选、图生图怎么用,试几次就清楚了。当然,如果你想深入玩 LoRA 权重、ControlNet 的预处理方式,还是得补一些 Stable Diffusion 的基础知识,但那部分知识在哪个客户端里都得学。

典型场景我举几个自己常用的。做公众号配图的时候,我会直接开 Fooocus 写一段描述,选个风格,出几张挑一张。给客户做方案的时候,我会用图生图快速迭代视觉方向,改起来比重新生成快得多。还有做 AI 头像、产品概念图这些,Fooocus 的默认质量已经够用了。

本地部署与云端使用的选择建议

本地部署这事,我建议先看两样东西:显卡和耐心。如果手头有一张 8GB 显存以上的 N 卡,本地跑 Fooocus 基本没什么压力,出图速度也能接受。如果显卡比较老或者显存不够,本地跑起来会比较难受,出图慢、容易爆显存,体验会打折。

云端使用的好处是省心,不用管显卡、不用管驱动、不用管模型下载。我有时候在外面用笔记本办公,就会切到云端跑。缺点也明显,要花钱,而且上传下载模型和图片会受网速影响。如果只是偶尔出几张图,云端其实挺划算的。

我的建议是这样:如果你打算长期用、经常出图,本地部署值得折腾一次,装好之后基本就是一劳永逸。如果你只是想试试水,或者设备条件不太行,先用云端跑一阵子,等确定自己真的需要了再考虑本地。两条路不冲突,我自己就是本地为主、云端为辅。

聊完 Fooocus 的定位和适用场景,接下来就得动真格了。本地部署这件事,说难不难,说简单也不简单。我这几年在自己的台式机、笔记本、还有几台朋友的机器上装过好几次,踩过的坑基本能凑成一本小册子。这一章就把部署前该准备的活儿捋一遍,把该检查的地方提前查清楚,后面装起来会顺畅很多。

硬件要求、显存需求与系统兼容性检查

先说显卡。这是跑 Fooocus 最吃紧的一块。我自己的主力机是一张 12GB 显存的 N 卡,跑默认模式基本没什么压力,出图速度也挺满意。8GB 显存的卡也能跑,只需要把显存模式调一下,出图质量和速度会稍微打点折扣,但日常用完全够。4GB 显存的话,得开最低显存模式,能跑是能跑,但出图时间会比较长,图的分辨率也不能拉太高。低于 4GB 我不太建议折腾本地,直接上云端省心。A 卡和 Intel 卡理论上也能跑,但驱动和依赖折腾起来麻烦不少,新手我不推荐。

内存这块容易被忽略。我见过有人显卡挺不错,结果内存只有 8GB,跑着跑着系统就开始卡。建议至少 16GB,32GB 会更舒服。CPU 反而没那么关键,只要不是十几年前的老 U,基本都能配合上。硬盘方面,我强烈建议用固态,模型加载和第一次运行的速度差距很明显。机械盘也能用,就是读模型的时候你会等得有点着急。

系统兼容性上,Windows 10/11 支持得最好,各种一键包基本都围着 Windows 做。Linux 也能跑,Ubuntu 22.04 我用过一阵子,稳定性不错,就是安装过程需要一点命令行基础。macOS 走的是 MPS 后端,能跑,但生态和优化没法和 N 卡比,如果你是 Mac 用户,可以先用云端感受一下,再决定要不要折腾本地。

Python、Git、显卡驱动与依赖环境配置

Python 是绕不过去的一环。Fooocus 官方推荐的是 Python 3.10.x,我自己试过 3.11 也基本能跑,但 3.12 有一些依赖会报错。我的做法是单独装一个 3.10 的 Python,不去动系统自带的那份,避免和其他项目打架。装的时候记得勾选 “Add Python to PATH”,这个小勾不勾,后面命令行里敲 python 会找不到。

Git 是拉官方仓库用的。如果你打算用一键包,其实可以不装 Git,直接下载压缩包就行。但想跟着官方更新走,Git 还是装上比较方便,一行命令就能拉最新代码。显卡驱动这块,N 卡用户建议去官网下最新的 Game Ready 或者 Studio 驱动,CUDA 版本不需要自己单独装,N 卡驱动里已经带了运行时支持,PyTorch 会自动调用。

依赖环境里最容易出问题的是 PyTorch 和 CUDA 的匹配。Fooocus 的安装脚本一般会自动帮你装好对应版本的 PyTorch,不太需要手动干预。我遇到过几次网络问题导致 PyTorch 没下全,运行时报一堆 import 错误,解决办法就是把命令行里的报错贴到搜索引擎里查一下,然后重新跑一遍安装脚本。别慌,这类问题基本都是网络或者缓存引起的,重装一次就好。

网络代理、磁盘空间与安装目录规划

网络这块是国内用户永远的痛。Hugging Face 下载模型和依赖的时候,没有代理基本会卡死或者超时。我自己的做法是在命令行里配置代理环境变量,或者在 Git 里设置代理,这样拉代码和下载模型都会顺畅一些。有人习惯用镜像站,也是可行的思路,但要注意镜像不一定实时同步,模型版本可能会旧一点。代理和镜像二选一就行,不用都上。

磁盘空间必须提前规划好。Fooocus 本体其实不大,一两 GB 就够。真正吃空间的是模型,一个 SDXL 基础模型动辄 6-7GB,加上精炼模型和 VAE,一套下来 15GB 起步。如果你还打算放 LoRA、ControlNet 这些扩展模型,50GB 只是及格线。我给自己的机器专门留了一个 200GB 的分区放 AI 相关的东西,用起来心里踏实。

安装目录的名字我吃过亏。以前图方便装在 “AI 绘画工具” 这种带中文和空格的路径下,结果各种脚本报错,路径识别不了。后来统一改成纯英文、无空格的目录,比如 D:\Fooocus 或者 D:\AI\Fooocus,问题直接消失。这个细节看起来不起眼,但能省掉很多莫名其妙的报错排查时间。另外目录别放在同步盘里面,网盘同步的时候容易锁文件,跑起来会出问题。

部署前的版本选择与文件校验思路

版本选择上,我的习惯是优先用官方仓库的稳定分支,不去追最新的开发版。Fooocus 官方更新挺勤快的,新版本有时候会引入一些没测透的改动,跑起来容易碰到奇怪的 bug。一键包也是同样的道理,找那些更新日期比较新、评论区反馈靠谱的包,别用两年前的陈年老包,模型版本和依赖都对不上。想尝鲜的话,可以两套并行装,一套稳定用,一套折腾新功能。

文件校验这件事很多人会跳过,我之前也跳。后来有次下载模型,文件不完整,跑起来提示各种加载失败,排查了半天才发现是下载断了。现在我的习惯是下载完大文件先看一下文件大小对不对,官方页面都会写清楚每个模型的体积。有 MD5 或者 SHA256 的话更稳,用一个在线工具或者命令行算一下,对得上再用。这一步花不了两分钟,能省掉后面几个小时的头疼。

还有一个思路是提前想好自己要用什么模型。Fooocus 默认会下 Juggernaut XL 这套组合,质量和速度平衡得不错。如果你有特定的风格需求,比如动漫、写实、二次元,可以先把对应的基础模型下好,放在指定目录里,等部署完直接切过去用。提前规划好模型清单,比装完再慢慢补要高效得多。

环境准备那章里该查的硬件、该装的依赖都弄完了,这一章就正经开始装。说实话,Fooocus 的安装在我的经验里算是比较友好的,官方和一键包都做得挺贴心,但不同系统、不同网络环境下的坑还是有的。我把自己在 Windows 和 Linux 上装过好几遍的过程都梳理出来,尽量把踩过的雷标清楚,你照着走能少走点弯路。

官方仓库与一键包获取方式

获取方式就两条路:走官方 GitHub 仓库,或者用社区的一键包。官方仓库地址是 github.com/lllyasviel/Fooocus,直接 clone 下来或者下 zip 都行。我一般用 git clone,方便后面更新,敲一行命令拉下来,几十秒的事。懒一点的可以直接点右上角 Code 按钮下载 zip 压缩包,解压到规划好的目录里,效果一样,就是更新的时候得手动重下。

一键包的话,B站和知乎上有不少人做整合包,通常会把 Python 环境、依赖、模型都打包好,解压即用。好处是省事,新手友好。坏处是版本不一定跟官方同步,有些包放了很久也没更新。我用过几个包,体验差别挺大,选的时候看一眼评论区反馈和更新日期,别用那种一年没动过的老包。

我现在的习惯是主力环境走官方仓库,备用环境用一键包。这样官方更新了新功能可以第一时间试,出问题了也有一键包能兜底。两套环境装在不同目录里,互不干扰,磁盘有空间的话挺推荐这么干。

Windows 系统安装步骤与启动命令

Windows 上装 Fooocus,官方仓库自带一个 run.bat 脚本,双击就能跑。第一次运行它会自动检查 Python 环境、装依赖、下模型,整个过程看网速,快的话十几分钟,慢的话得一两个小时。我见过有人第一次跑了好久以为卡住了,其实是在下 PyTorch 和 SDXL 模型,耐心等等或者挂个代理会好很多。

手动安装的流程也简单:打开 cmd 或者 PowerShell,cd 到 Fooocus 目录,然后 python entry_with_update.py,第一次跑会触发依赖安装。如果你的 Python 装了多个版本,记得确认命令行里 python --version 出来的是 3.10,不是的话用完整路径调用,比如 C:\Python310\python.exe entry_with_update.py。这个小细节坑过我好几次。

启动命令还有几个变体值得记一下。想监听局域网别的设备访问,加 --listen;想指定端口,加 --port 7865;想用低显存模式,加 --always-low-vram。这些参数可以组合着用。我平时本地用默认就够了,跑起来会自动打开浏览器,地址是 127.0.0.1:7865。

Linux 系统安装步骤与常见权限处理

Linux 这边的流程稍微长一点,但可控性更好。以 Ubuntu 22.04 为例,先确保 Python 3.10、git、pip 都装好了,sudo apt install python3.10 python3.10-venv git 一行搞定。然后 clone 仓库,cd 进去,创建虚拟环境 python3.10 -m venv venv,激活 source venv/bin/activate,再跑 python entry_with_update.py。用 venv 的好处是依赖都装在虚拟环境里,不会污染系统 Python。

权限问题在 Linux 上比较常见。我遇到过跑脚本的时候提示 Permission denied,一般是脚本没有可执行权限,chmod +x 一下就行。还有一种情况是模型目录归 root 所有,普通用户写不进去,用 chown -R 你的用户名:你的用户名 目录名 改一下属主。装 NVIDIA 驱动的时候如果报错,多半是驱动版本和内核不匹配,去官网查一下对应版本重装。

还有一种折腾是 systemd 服务化。想开机自启或者后台常驻的话,可以写一个 service 文件放到 /etc/systemd/system/ 下,配置好启动命令和工作目录。我自己给一台远程机器这么配过,用起来挺方便,重启也不用重新开终端。不过对新手来说这个可以后面再研究,先把手动启动跑通最重要。

首次运行验证、界面访问与汉化设置

第一次启动成功之后,控制台会打印一堆日志,最后出现 Running on local URL: http://127.0.0.1:7865 这样一行,就说明服务起来了。浏览器一般会自动弹开界面,没弹的话手动访问这个地址就行。界面加载出来的那一刻挺有成就感的,第一次看到那个简洁的出图面板,就知道前面折腾的值了。

界面右上角有个齿轮图标,点进去可以设置语言。Fooocus 原生支持中文,选 zh 就切成中文界面了。我最早装的时候不知道有这个选项,硬着头皮用了好几天英文界面,后来发现切换这么简单,感觉白折腾了。汉化之后提示词输入框、参数标签全都变中文,新手用起来顺手很多。

验证出图能力的话,简单输一句 "a cat sitting on a windowsill" 点生成就行。第一次出图会加载模型,速度会慢一些,之后基本在十几秒到半分钟之间。如果出图成功了,说明整个链路都通了。这一步过了,后面调参、装扩展模型都是锦上添花的事。

常见部署报错与快速解决思路

部署报错里我遇到最多的就是依赖装不上。报错信息里带 Could not find a version 或者 No matching distribution,基本是网络问题或者 PyTorch 版本对不上。处理方法一个是挂代理重跑安装,一个是去 PyTorch 官网查一下自己 CUDA 版本对应的安装命令,手动装一遍再跑主脚本。别怕报错,把红色文字复制到搜索引擎里,八成有人遇到过。

显存相关的报错也很好认,CUDA out of memory 这种,加个 --always-low-vram 参数基本能解决。如果还不行,把出图分辨率降到 1024 以下试试。我见过有人拿 6GB 显存硬拉 2048x2048 的分辨率,那肯定爆。降分辨率、降 batch size、开低显存模式,三板斧下来几乎都能救回来。

还有一类报错是模型文件缺失或者损坏,日志里会明确写哪个文件找不到。这种情况按提示去下载对应模型放到指定目录就好。如果下载后还报错,检查一下文件名和官方一致,有时候手动改名改错了大小写,Linux 上大小写敏感就会出问题。Windows 用户相对幸运一些,大小写不敏感,但目录里有中文或空格还是会翻车。

内存不够导致系统卡死的情况也有。跑图的同时开着好几个浏览器标签和大型软件,内存被吃满,整个系统就开始假死。我的做法是出图的时候把不用的东西都关掉,或者直接升级到 32GB 内存。别小看这个,出图速度很多时候不是被显卡卡住的,是被内存拖后腿的。

上一章部署跑通之后,我估计你已经看到了浏览器里那个简洁的界面。能启动是一回事,能不能出好看的图是另一回事。这里面的关键就是模型。我踩过的坑里,模型相关的至少占一半——下错版本、放错目录、文件名带空格、路径里有中文,每一样都能让 Fooocus 直接罢工。这一章我把模型目录、下载渠道、扩展模型和验证方法一次性说清楚。

默认模型目录结构解析

Fooocus 的模型目录逻辑跟你想的可能不太一样。它借鉴了 ComfyUI 的风格,在根目录下有一个 models 文件夹,里面分了 checkpoints、loras、vae、embeddings、controlnet 等子目录。第一次启动之前这些目录可能是空的或者根本没建出来,跑一次程序让它自动生成最省事。

我截一下自己机器上的目录给你看看大概长啥样:

Fooocus/
└── models/
    ├── checkpoints/
    ├── loras/
    ├── vae/
    ├── embeddings/
    ├── controlnet/
    ├── upscale_models/
    ├── safety_checker/
    └── prompt_expansion/

checkpoints 放大模型,loras 放微调模型,vae 放色彩解码器,embeddings 放文本嵌入文件,controlnet 放控制网模型。这几个是日常用得最多的。upscale_models 是放大模型,Fooocus 自带一些,也可以手动加。safety_checker 那个目录我一般直接无视,里面的东西对新版意义不大。

有个细节要提醒一下:Fooocus 支持用户把模型目录迁到别的地方,通过配置文件或者启动参数指定。我一开始图方便放在 C 盘,结果 C 盘吃紧。后来把 models 整个目录符号链接到 D 盘,省事。Linux 上用 ln -s,Windows 上用 mklink /D,效果一样。这样主程序不用动,模型都在大容量盘里。

基础模型、精炼模型与 VAE 的下载渠道

基础模型,也就是 checkpoint,是必须得有的东西。Fooocus 原生支持 SDXL 系列的模型,因为它的工作流就是围绕 SDXL 设计的。你去 Civitai 或者 Hugging Face 上搜 "SDXL" 会出来一大堆,我常用的几个是 Juggernaut XL、RealVisXL、DreamShaper XL 这几类,风格差异挺大,写实、二次元、通用各有侧重。

下载渠道首推 Hugging Face,模型文件往往有 safetensors 格式,比 ckpt 安全,也不容易带奇怪的代码。Civitai 上模型更多更花哨,但要注意筛选,有些模型挂羊头卖狗肉,实际效果和缩略图差很远。Hugging Face 上还有个好处是能看文件哈希,下完之后可以校验。国内访问慢的话,HF 镜像站用 hf-mirror.com,速度能提到几MB每秒。

精炼模型(refiner)是 SDXL 体系里的概念。早期 SDXL 是 base + refiner 两步走,Fooocus 也支持这种模式。实际上现在很多社区模型是 all-in-one 的,不需要单独的精炼模型。但如果你用的是原生 SDXL 1.0,那 sd_xl_refiner_1.0.safetensors 还是值得下一个。VAE 通常不用单独下,SDXL 模型自带 VAE,只有某些老模型或者特殊模型才需要外部 VAE 文件,比如 sdxl_vae.safetensors,放到 models/vae/ 目录里就行。

我下模型的时候养成一个习惯:文件名不改动,保持原始名称。有些模型文件名带下划线、连字符、数字,看起来复杂,但这正是它跟配置文件对齐的关键。改了名,轻则加载不出来,重则出图莫名其妙崩。文件名带空格或者中文更是大忌,写死了会出问题。

LoRA、Embedding、ControlNet 等扩展模型放置

LoRA 是玩 SD 最上头的部分。它是轻量级微调模型,往往只有几十到几百 MB,可以叠加使用,风格变化立竿见影。下载下来放到 models/loras/ 目录里就完事。Fooocus 会在界面里自动扫描这个目录,在对应标签页里能选到。我一般会分几个子目录管理,比如 character、style、clothing,方便自己找,但 Fooocus 默认扫描是平铺的,子目录里的也能识别,这点挺好。

Embedding 文件后缀通常是 .pt 或 .safetensors,放在 models/embeddings/ 下。这种文件用法是在提示词里直接写文件名作为关键词,模型会调用对应的嵌入向量。比较有名的像 EasyNegative、BadHands 这些,用来自动压制负面效果。Fooocus 里用 embedding 要在提示词框里手打 <文件名> 或 embedding:文件名,具体格式看版本,两个格式都试一下浪费时间不多。

ControlNet 是控制图像构图的神器,在 Fooocus 里也有原生支持,不过用起来比 WebUI 要克制一些。模型放到 models/controlnet/ 里,常用的有 Canny、OpenPose、Depth、Lineart 这些。SDXL 版的 ControlNet 文件比较大,单个往往 2GB 往上,下载前留好磁盘空间。我一开始拿 SD1.5 的 ControlNet 往 Fooocus 里塞,结果不识别,才意识到版本对不上,SDXL 的模型要用 SDXL 的 ControlNet。

还有个容易忽略的东西是 .yaml 配置文件。有些模型,尤其是 ControlNet,需要配套的 yaml 文件来定义结构参数。下模型的时候注意看下载页面有没有附带 yaml,有的话放到对应目录,跟模型文件名保持一致(除了后缀)。少了这个文件,模型可能会加载报错或者参数识别错误。别问我怎么知道的,说多了都是泪。

模型路径配置、命名规范与多模型切换

默认路径就是程序目录下的 models/,但如果你跟我一样把模型库放在别的盘,可以通过 config.txt 里的 path_checkpoints、path_loras 这些参数来指定绝对路径。这个配置文件在 Fooocus 根目录里,改的时候注意路径用正斜杠或者双反斜杠,单反斜杠在 Windows 上容易被当成转义字符。改完重启 Fooocus 生效。

命名规范我说几个死规矩。文件名不要有中文,不要有空格,不要有特殊符号(@#$%^&*这些),大小写尽量跟原始下载名一致。不要以为 Windows 不区分大小写就无所谓,如果哪天你把模型目录共享给 Linux 上的另一台机器,大小写错误的问题会立刻跳出来。我吃过这个亏,同一个模型在 Windows 上好好的,同步到 Linux 上死活加载不了,查了半天才发现是我改名的时候手贱把某个字母大写了。

多模型切换在 Fooocus 界面上很简单,checkpoint 有个下拉菜单,切换之后下一次出图就会用新模型。不过有个细节,切换模型之后不必重新启动,但第一次出图会花几秒钟加载新的模型到显存。如果你显存比较小,切模型前先出一张小尺寸图,把之前的模型从显存里挤出去,避免两个模型同时占着显存导致爆掉。

LoRA 的切换也是勾选式。界面里有 LoRA 标签页,可以勾选多个,每个 LoRA 有个权重滑块,一般 0.5 到 0.8 之间效果比较自然,拉到 1.0 以上容易过拟合、画面崩坏。我试过同时勾四五个 LoRA,权重都拉得很高,出来的图那叫一个离谱,人不像人鬼不像鬼。后来学乖了,一次最多用两个,权重各自 0.6 附近,稳得很。

模型下载与放置后的加载验证方法

放好模型总不能凭感觉判断有没有生效,得有验证方法。第一招是看启动日志。Fooocus 启动的时候会扫描所有模型目录,控制台会打印 "Found X checkpoints"、"Found X loras" 这类信息,数字对不上说明没扫到。我一般在放完新模型后重启一遍,看看数字有没有加一,加了就说明目录和文件名没问题。

第二招是在界面上下拉菜单里数一遍。checkpoint 下拉点开,看看新模型的名字在不在列表里。LoRA 标签页点开,看看新 LoRA 有没有出现。ControlNet 模块里也是这样。这一招很直观,就是稍微费点眼睛,模型多了之后列表很长。

第三招是实际出图测试。选上新模型,提示词随便写一句 "a beautiful landscape",尺寸用 1024x1024,步数默认,点生成。如果图能正常出来且风格跟预期一致,说明模型完全加载成功了。如果报错说找不到文件或者加载失败,日志里会给出具体原因,按提示去排查,九成是路径或者文件名问题。出图成功之后我一般会顺手把这组参数存成预设,以后想用这个模型直接调预设,省得每次重新点。

第四招是哈希校验,适合强迫症。下载页面上一般会给 SHA256 值,用 certutil -hashfile 文件名 SHA256(Windows)或者 sha256sum 文件名(Linux)算一遍,对比一致说明文件完整没损坏。我通常只在出图特别诡异或者报奇怪错误的时候才做这一步,平时没那功夫。但有一种情况必须校验——从非官方渠道下载的模型,尤其是那种来路不明的整合包里的模型,校验一下能排除被人动过手脚的风险。

模型放好之后 Fooocus 就算真正可用了。这一步过了,接下来的事情就是在提示词和参数上折腾,那才是出图真正有意思的地方。我下一章会把界面功能、提示词写法和出图工作流都讲一遍,这些都是让模型发挥出应有水平的关键。

模型放好之后,打开 Fooocus 的界面,第一眼你会觉得挺清爽的,没什么乱七八糟的按钮。跟 WebUI 那种密密麻麻的面板比起来,Fooocus 更像一个给懒人准备的工具。可别被这简洁骗了,它该有的功能一样不少,只是藏得比较深。我刚开始用的时候也是瞎点,后来摸熟了才发现每个区域都有讲究。这一章我就把界面、提示词、出图模式和参数调优这几块拆开聊,都是我自己踩过坑之后总结出来的。

界面功能分区与核心参数说明

界面大体分成左右两块。左边是提示词输入区,上面一个大框写正向提示词,下面一个小框写负面提示词。右边是一列参数设置,最上面是 checkpoint 选择,往下是图像尺寸、生成数量、步数、CFG 值、种子这些。底部有 Generate 按钮,旁边还有 Advanced 复选框,点开之后会多出一堆更细的选项。我一开始只盯着左边的提示词框,右边全用默认值,出来的图也能看,但总觉得差点意思。后来开始动右边的参数,才发现调整空间挺大的。

核心参数里我第一个关注的是尺寸。Fooocus 默认给的是 1024x1024,这是 SDXL 的原生分辨率,出图质量最稳。但你也可以改成 1152x896 或者 896x1152 这种横向或纵向比例,适合做壁纸或者头像。尺寸别乱设,比如设成 512x512,SDXL 模型会出鬼图,因为它的训练分辨率就在 1024 附近。步数默认 30 左右,调到 40 以上提升有限,调到 20 以下细节会糊。CFG 值控制提示词的影响力,默认 7 左右,调高到 10 以上颜色会变艳、构图会变死板,调低到 4 以下就太放飞了。种子那栏可以留空随机,也可以填固定值复现同一张图。

还有一个容易被忽略的选项是“Generate Image”旁边的数量。默认一次出一张,你可以改成 2 张或者 4 张,但显存占用会翻倍。我一般先出一张看看效果,满意了再批量。界面上还有个“Advanced”勾选框,点开之后能看到采样器、调度器、lora 权重这些。刚开始不用碰,等基础玩熟了再进去折腾。我现在的习惯是每次出图前先扫一眼右侧参数,确认尺寸和步数没被上次的改动带偏。

提示词编写、负面提示词与风格选择

提示词这东西,说简单也简单,说难也难。Fooocus 对提示词的理解跟其他 SD 客户端差不多,你写“a cute cat”它就给你猫,写“a cute cat wearing a hat”它就加个帽子。但细节描述越具体,出图越接近你脑子里的画面。我一般会按“主体+动作+环境+风格+画质”这个顺序写。比如“a young woman, standing in a garden, soft sunlight, photorealistic, 8k, detailed skin”。不用写太长,SDXL 对长提示词的处理能力比 SD1.5 强,但超过 75 个词之后后面的权重会下降。负面提示词我通常只写最基础的“low quality, blurry, bad anatomy”,写多了反而会干扰正常生成。

风格选择是 Fooocus 的一大特色。界面上有个“Style”标签页,里面预置了几十种风格,比如“Fooocus V2”、“Sai 风格”、“写实摄影”、“动漫”、“剪纸”等等。每个风格背后其实是一套预设的提示词和参数组合。我试过同一个提示词选不同风格,出来的图差距巨大。比如选“写实摄影”会加强皮肤纹理和光影,选“动漫”会扁平化颜色和线条。新手建议先从“Fooocus V2”开始,这个风格比较通用,不会太偏。等熟悉了再换其他风格玩。风格可以多选,但别超过两个,不然风格会打架,画面变得莫名其妙。

负面提示词在 Fooocus 里有个单独的框,但很多人不知道它其实和风格预设是联动的。你选了某个风格,系统会自动往负面框里塞一些词。手动改的时候要注意别跟预设冲突。我遇到过选了“写实”风格,又手动加了“cartoon”到负面里,结果出图风格四不像。后来学乖了,负面提示词只写通用的质量词,风格相关的事交给风格预设去管。还有一点,提示词里可以用权重语法,比如“(red dress:1.3)”表示加强红色裙子的权重,但 Fooocus 对权重的解析不如 WebUI 那么精确,我一般很少用。

文生图、图生图、放大、修复与批量出图

文生图是最基础的模式,左边写好提示词,右边设好参数,点 Generate 就完事。我一开始总想一步到位出大片,后来发现第一张图往往是“草稿”,用来确认构图和色调。满意了再用图生图或者放大去细化。图生图在 Fooocus 里叫“Image Prompt”,在界面上有个标签页,上传一张参考图,然后设置“Stop At”或者“Weight”来控制参考强度。我一般用图生图来做风格迁移,比如把一张照片转成油画,Weight 设 0.6 左右效果比较自然。设太高会完全复制原图,设太低又跟文生图没区别。

放大功能在 Fooocus 里分两种。一种是“Upscale”标签页,选好放大模型(比如 4x-UltraSharp),点一下就能把 1024 的图拉到 2048 甚至 4096。另一种是在文生图时勾选“Upscale”选项,生成完自动放大。我一般先用小图试,确定构图没问题再放大。放大过程比较吃显存,2048 的图大概需要 8GB 显存,4096 的图得 12GB 以上。修复功能叫“Inpaint”,在“Inpaint”标签页里,上传一张图,用画笔涂掉不想要的部分,然后写提示词让 AI 重新画那块区域。我经常用这个来修手,SDXL 画手还是不太稳,涂掉手部重新生成比整体重画省事得多。

批量出图在 Fooocus 里不是特别显眼的功能。你可以把“Image Number”设成 4 或者 8,它会一次生成多张。但每张图都会单独占显存,8 张 1024 的图在 8GB 显存上会直接爆掉。我的做法是先生成 2 张看看方向,满意了再生成 4 张从中挑。还有一个技巧是固定种子,然后微调提示词,这样能看出提示词改动对画面的具体影响。批量出图时最好把“Seed”设成 -1 随机,不然所有图都长一样。我试过忘改种子,结果出了 4 张一模一样的图,白白浪费时间。

参数调优、显存占用控制与生成速度优化

参数调优是个无底洞,但有几个关键点值得关注。采样器(Sampler)我一般用默认的“DPM++ 2M Karras”,这个采样器在速度和质量的平衡上做得很好。调度器(Scheduler)用“Karras”就行,不用换。步数前面说了,30 步是甜点,超过 40 步提升微乎其微。CFG 值我通常设在 6 到 8 之间,具体看风格。如果你发现出图颜色过饱和,就把 CFG 降到 5 试试。种子固定之后可以微调 CFG 和步数,看画面怎么变化,这是学习参数影响的好办法。

显存占用是很多人头疼的问题。Fooocus 本身对显存优化做得不错,但你要学会看任务管理器。生成一张 1024x1024 的图,SDXL 模型大概占 6GB 显存,加上系统占用,8GB 显存刚好够。如果你只有 6GB 显存,可以把尺寸降到 768x768,或者开启“Low VRAM”模式(在 Advanced 里)。这个模式会把部分模型卸载到内存,速度会慢一些,但不会爆显存。我试过在 6GB 的笔记本上跑,768 尺寸加 Low VRAM,一张图大概 40 秒,能接受。另外别同时开多个出图任务,一个接一个来最稳。

生成速度优化有几个实用技巧。第一,把模型放在 SSD 上,机械硬盘加载模型能慢一倍。第二,关闭其他吃显存的程序,浏览器多开几个标签页都会抢显存。第三,如果你用 LoRA,别一次挂太多,每个 LoRA 都会增加计算量。第四,生成完的图及时从显存里清掉,Fooocus 有个“Unload Model”按钮,在 Advanced 里,点一下能释放显存。我一般在切换模型之前会先点一下这个按钮,避免新旧模型同时占显存。速度这东西,跟硬件关系最大,软件优化只能锦上添花。我自己的机器是 3060 12GB,1024 图大概 15 秒一张,感觉够用了。

自定义模型预设与工作流复用

我玩了几个月 Fooocus 之后,发现每次出图都要重新调参数、选风格、挂 LoRA,特别烦。后来我琢磨出一个办法,把常用的配置存成预设。Fooocus 本身没有一键保存预设的按钮,但可以把整个配置文件夹备份下来,或者手动记录下参数组合。我现在的习惯是建一个 txt 文件,里面写清楚“写实人像”用了哪个 checkpoint、什么风格、步数多少、CFG 多少。下次要用直接照着填,省得从头试。

工作流复用其实更简单。Fooocus 的界面虽然不能像 ComfyUI 那样拖节点,但你可以把生成好的图片连同参数一起保存。图片的元数据里记录了提示词、种子、模型、风格这些信息。我经常把满意的图拖回 Fooocus 的“Image Prompt”里,它会自动读取参数,我再微调一下就能复现类似效果。还有,如果你有多个模型,可以给每个模型配一套预设参数,比如 SDXL 基础模型用 30 步 CFG 7,动漫模型用 25 步 CFG 5。这样切换模型时不用重新想参数,直接套用就行。

我还试过把预设分享给朋友。方法很简单,把配置里的 json 文件或者启动参数复制过去。Fooocus 的启动参数里可以指定默认模型、默认风格、默认尺寸。我给自己常用的几个模型写了不同的 .bat 启动脚本,双击就能打开对应配置。比如“写实.bat”加载真实系模型,“动漫.bat”加载二次元模型。这样省去了每次在界面里切换的麻烦,也算是一种低成本的自动化。

API 调用、自动化任务与插件生态

Fooocus 有一个隐藏的 API 模式。在启动命令后面加上 --api 参数,它就会在本地开一个接口,默认端口 7865。我用 Python 的 requests 库试过,向 http://127.0.0.1:7865/v1/generation/text-to-image 发 POST 请求,带上提示词和参数,就能拿到生成的图片。这个功能适合做批量任务,比如我有 100 个提示词,写个循环就能全自动出图。不过 API 的文档比较少,很多参数得自己试。我刚开始调的时候经常报错,后来发现是 JSON 格式不对,字段名要跟界面上的参数对应。

自动化任务方面,除了 API,还可以用 Fooocus 的命令行参数做定时任务。比如写个 bash 脚本或者 Windows 计划任务,每天凌晨自动启动 Fooocus 跑一批图,跑完自动关闭。我试过用 Python 的 subprocess 调用 Fooocus 的启动脚本,再配合 watchdog 监控输出文件夹,有新图就自动压缩上传到网盘。这套流程搭起来有点折腾,但跑通之后确实省心。插件生态这块,Fooocus 不像 WebUI 那么丰富,但也有一些第三方扩展,比如加个自定义节点、加个图片浏览器。我装过一个叫“Fooocus-MRE”的变体,它支持更多模型和参数,但稳定性不如原版。我的建议是,除非你有明确需求,否则别乱装插件,容易把环境搞崩。

插件安装一般就是往 extensions 文件夹里丢文件,再重启。有些插件需要改配置文件,改错了 Fooocus 就起不来。我踩过一次坑,装了个控制网插件,结果启动时报了一堆红字,排查半天发现是版本不兼容。后来学乖了,装任何插件之前先备份整个 Fooocus 目录。还有,GitHub 上有些作者会定期更新插件,你可以用 git pull 拉取最新代码,但别盲目更新,先看看更新日志里有没有 breaking change。我现在只用两个插件,一个是汉化包,一个是图片元数据查看器,够用了。

性能优化、故障排查与日志分析

性能优化这件事,硬件是天花板,软件优化只能在有限空间里折腾。我试过几个小技巧。把 Fooocus 的模型缓存打开,在启动参数里加 --always-normal-vram 或者 --always-high-vram,前者适合小显存,后者适合大显存。我用的 3060 12GB,加 --always-high-vram 之后出图快了大概 10%。还有,把系统里的虚拟内存调大,尤其是 16GB 内存的机器,虚拟内存设成 32GB 能避免生成大图时爆内存。再说,关掉 Windows 的游戏模式,那个模式有时会限制 GPU 性能。我实测关掉之后,生成速度稳定了一些。

故障排查最头疼的是没有报错信息。Fooocus 启动失败时,命令行窗口会闪一下就消失,你根本看不到错误。我的做法是在启动脚本最后加一行 pause,这样窗口就不会自动关。或者用命令行手动运行 python launch.py,错误信息会直接打在屏幕上。常见的错误有几种:缺少依赖包,用 pip install -r requirements.txt 补上;显存不足,降尺寸或者开 Low VRAM;模型文件损坏,重新下载。我还遇到过端口被占用,换一个端口就行,启动参数加 --port 7866。日志文件在 Fooocus 目录下的 logs 文件夹里,里面有详细的运行记录,出问题时先看最新的那个日志。

日志分析需要一点耐心。我一般会搜关键词“error”、“traceback”、“cuda out of memory”。如果是 CUDA 错误,多半是显存问题或者驱动版本不匹配。有一次我更新了显卡驱动,结果 Fooocus 启动不了,报错说 CUDA 版本不兼容,降回旧驱动就好了。还有一次是 Python 版本问题,Fooocus 要求 Python 3.10,我系统里装的是 3.11,有些依赖装不上,后来用 conda 建了个 3.10 的环境才解决。遇到奇怪的问题,我建议先检查 Python 版本和显卡驱动版本,这两个是最容易出岔子的地方。

版本更新、备份迁移与安全维护

Fooocus 的更新频率不算高,但每次更新都可能带来新功能或者修复 bug。我一般一个月看一次 GitHub 的 releases 页面。更新方法很简单,如果是 git 克隆的,在目录里运行 git pull 就行。如果是一键包,得去下载新的压缩包,再把旧目录里的 models、outputs、presets 这些文件夹复制过去。我吃过一次亏,直接覆盖安装,结果把自定义的模型路径配置弄丢了,重新配了半天。现在我的做法是,更新之前先把整个 Fooocus 文件夹复制一份到别的地方,出问题了随时回滚。

备份迁移不只是复制文件夹那么简单。模型文件动辄几个 GB,全备份太占空间。我的策略是,只备份配置文件、预设、输出图片和 LoRA 这些小文件。基础模型和 VAE 这类大文件,记下下载链接就行,需要时重新下。迁移到新电脑时,先把 Fooocus 装好,再把备份的配置和模型放回对应目录。注意路径要一致,如果新电脑的用户名不同,配置文件里的绝对路径得手动改。我一般用相对路径,这样迁移起来方便。还有,输出文件夹可以设到网盘同步目录,这样图片自动备份到云端。

安全维护方面,Fooocus 默认只监听本地 127.0.0.1,别人访问不了。如果你想让局域网里的其他设备用,可以加 --listen 参数,但这样会暴露在局域网里。我建议加个 --auth 用户名:密码,至少有个基本防护。别把 Fooocus 直接暴露到公网,除非你懂防火墙和反向代理。还有,下载模型和插件时只从可信来源下,有些第三方模型里可能藏了恶意代码。我一般只从 Hugging Face 和 Civitai 下载,下载完用杀毒软件扫一遍。定期检查 Fooocus 目录里有没有奇怪的 .py 文件,尤其是那些你不记得装过的。安全这事,平时多留个心眼,比出事后再补救强。

赞0
踩0
☆收藏0
版权声明
文章版权声明:除非注明,否则均为ZBLOG原创文章,转载或复制请以超链接形式并注明出处。
分享到
chuanbook

链接已复制到剪贴板