SimpleSDXL2 / README.md
metercai's picture
Update README.md
f55342d verified
|
raw
history blame
13.5 kB
---
license: apache-2.0
---
## SimpleSDXL2 - 扩展后端,超越Fooocus,支持6G显存国产混元与SD3出图。
<div align=center><img src="https://github.com/metercai/SimpleSDXL/assets/5652458/92b6c7d5-fc3e-4407-b03e-5c87d149d503"></div>
## 🔔 最新更新 / Update
- [2024.06.30] <b>扩展架构,新增Comfy后端,全新升级SimpleSDXL2。支持SDXL、混元、SD3和Playground-v2.5本地模型,最低6G显卡内存可用,保持Fooocus简洁、高效和稳定的出图风格。新增融图打光模块,可自主生成前景及蒙版,可自动抠取产品或人物图片切换场景进行融合。升级OBP一键提示词到最新版。UI整体优化。</b>
- [2024.05.28] 同步主线升级到v2.4.3,新增nsfw过滤等功能。
- [2024.04.23] 升级OBP到最新版,集成[Superprompt](https://huggingface.co/roborovski/superprompt-v1)超级提示词扩展,为提示词增补细节描写。新增SD3生图引擎接口,可到[stability.ai](https://stability.ai/membership)申请免费会员,获取接口密钥后无缝对接SD3新引擎生成图片。优化界面,包括将OBP和Superprompt入口整合到提示词框,新增预置包导航浮层提示、提示词框token数统计、图生图多个参数前置到操作页面等。</b>
<b>重要:如果项目给您带来了便利和价值,不要吝惜加颗星"⭐️",促进项目更好的发展!😜<br>
Note: Please don't forget to give us a star if you like this project. Thanks! 😜</b>
## Windows安装使用
### 下载:(新用户至少要下载程序包和基本模型包)
- 运行环境和应用程序, [程序包: SimpleSDXL2_win.exe.7z (2G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/SimpleSDXL2_win.exe.7z)
- 缺省出图模型和所有辅助模型,包括混元v1.1版和SD3基础版, [基本模型包: models_base.zip (49G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_base.zip)
- 预置导航上的其他出图模型和SD3的t5fp8版, [扩展模型包: models_ckpt.zip (46G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_ckpt.zip)
### 安装:
- 新建空目录,路径名上不能包含中文和空格。将程序包复制到新目录,<b>去掉`.7z`的文件名尾缀</b>,然后点击运行SimpleSDXL2_win.exe,自解压到当前目录。新版本严禁与旧版本混装。
- 解压基本模型包models_base.zip, 与上一步解压出来的models目录同名覆盖。如有Fooocus、SD或其他模型库共享,可自行配置config.txt。
- 如需解除预置导航上其他预置包下载箭头,可解压扩展模型包models_ckpt.zip,同样覆盖同名目录models。
### 运行
- 点击启动 run_SimpleSDXL.bat,完成第一次运行。
- 后续可用三种方式启动运行:
- 带更新启动:run_SimpleSDXL.bat
- 不更新启动:run_SimpleSDXL_without_update.bat
- 启动开发测试版:run_SimpleSDXL_dev.bat
## 什么是SimpleSDXL?/ What's SimpleSDXL?
- **化繁为简** AI的本质应该是化繁为简,让操作更简洁,让想法更易达成。SimpleSDXL保持Fooocus的易用性,以SDXL模型生态为核心,朝着开源可控,简洁易用,功能完善的方向更进一步。
- **中文适配** 中文环境与英语环境有很多差异。不仅仅在语言文字上,包括思维习惯、操作方式和网络环境都有很多不同。让中文用户使用更简单,用的更爽,也是SimpleSDXL的原始初衷。
- **场景定制** 文生图和图生图有非常多的使用场景,需要更好的配置定制能力。SimpleSDXL以**预置包和嵌参图片**为基础,面向场景提升Fooocus的**开放性和可定制性**,发挥出SDXL的强大能力。
## SmipleSDXL2 全新架构 / New Architecture
<img width="600" align=center src="https://github.com/metercai/SimpleSDXL/assets/5652458/364df3ce-3420-4cec-b26e-f315c76b4c1e">
## 对比Fooocus的增强特色 / Enhanced features of Fooocus
在Fooocus基础上增强功能,可无缝升级,同步迭代,并行使用。而且经过了手机适配,PC和手机也可同步操作。<br>
Enhanced features base on Fooocus, seamless upgrading and dual versions available synchronous iteration and parallel use. Adapted to mobile, PC and phone can be used synchronously.
### 中英文混编提示词 / Chinese English mixed prompts
在线离线自主选择,支持翻译后再编辑,更适于提示词表达。<br>
Offline and online autonomous selection, support editing after translation, more suitable for Prompt. <br>
<img width="300" align=right src="https://github.com/metercai/SimpleSDXL/assets/5652458/707999e5-c776-4321-9048-5ad275263ff0">
- [x] **中英文混合编辑** 对提示词文本进行中英文切分后分别翻译再合并,适配提示词类的表达场景。
- [x] **在线和离线翻译器** 可自动安装离线翻译大模型和小尺寸的瘦模型,也可选择第三方翻译接口。离线模型需自身算力支持,第三方接口接入便捷成本低,但增加了接口依赖。用户可根据情况自主配置选>择。
- [x] **支持翻译后再编辑** 机器翻译的结果质量都不可控,存在翻译质量差导致生成内容偏差的现象。翻译后再编辑可以显性化翻译质量,提供用户再优化调整处理的空间。
- [x] **多大厂接口随机选** 选择国内大厂(百度、阿里和搜狗)的稳定接口,每次启动时随机选择,运行态相对固定。既避免对接口冲击又保持翻译的一致性。
- [ ] **私有翻译接口定制** 可以配置私有接口,方便对接OpenAI等大语言模型的翻译能力。
### 智能抠图生成蒙板 / Intelligent cutout generation mask
具有语义识别的多种抠图算法,可自动生成蒙板,方便生成图片的组合加工。 <br>
Multiple cropping algorithms with semantic recognition that can automatically generate masks, facilitating the combination processing of generated images.<br>
- [x] **智能算法抠图** 可以基于u2net进行图像分割,对重绘图片进行前后景分割,人物主体分割,并生成对应蒙板进行重绘。
- [x] **语义识别抠图** 可以基于bert+Sam,在语义理解基础上识别图片内容,再进行自动分割,生成蒙板后进行重绘。
- [ ] **点击识别抠图** 点击图片某个区域,基于Sam算法对点击所在主体进行自动识别和分割,生成蒙板后进行重绘。
### 通配符批量提示词 / Wildcard batch prompt words
支持通配符词组表达和触发展示,可随机批量生成同Seed下的一组图片。<br>
Supports wildcard phrase expressions and triggering display, allowing for random batch generate a set of images under the same seed.
<img width="380" align=right src="https://github.com/metercai/SimpleSDXL/assets/5652458/4b10e6de-b026-41ea-a206-77d6f9fdf1cd">
- [x] **词组语法** 支持[Words]词组,以","分割的词列表。表示在同一seed下从每个words词组抽词进行组合批量生成图片。每种组合1张图片,总量是各词组词数的乘积,以实际需要的数量为准,不受出图数量参数的限制。
- [x] **通配符组词** 用通配符定义词组,格式为:`[__wildcard__:R|Lnumber:start]` R表示随机抽,L表示按顺序抽,默认=R;number是抽取的数量,默认=1;start是在顺序抽取时从第几个开始抽,默认=1。具体语法说明见[通配符ReadMe](https://github.com/metercai/SimpleSDXL/tree/SimpleSDXL/wildcards/)
- [x] **自动触发输入** 提示词框在输入'['或'_'时可自动触发通配符输入工具,可以通过界面选择追加通配符到提示词框。
- [ ] **嵌套及动态加载** 支持通配符的多级嵌套和动态加载,增强通配符的表达能力。
- [ ] **定制和推送** 支持自主定制通配符快捷方式,并推送给朋友使用。
### 增强预置包和模型下载 / Enhanced preset and adapted for download
预置包可通过界面切换和生成,模型下载会根据IP自动选择内外源。 <br>
The preset can be switched and generated through UI, and the model download will automatically select sources based on the access IP.
- [x] **预置包导航** 将presets目录下的预置包配置文件生成顶部导航入口,户点击顶部预置包导航后,调取对应配置文件,重置出图环境参数和相关配置。
- [x] **生成预置包** 将当前出图环境参数打包保存为新的预置包,将预置包文件存入presets目录下,自动加入顶部导航。
- [x] **扩展预置参数** 扩展主线的预置包参数范围,补充开发者模式的参数,以及风格样式的定义和通配符的定义。支持的预置包参数见[预置包ReadMe](https://github.com/metercai/SimpleSDXL/tree/SimpleSDXL/presets/)
- [x] **统一模型ID和下载** 对接模型信息库,使用以模型文件哈希为基础的统一模型MUID。可自动检测预置包出图环境的可用性,缺失模型文件可自动下载补齐。
- [x] **出图保护** 当系统环境进入出图状态时,顶部导航不可点击,禁止加载预置包冲击出图环境。
### 图片集浏览和管理 / Finished image sets browsing and management
原生版仅能浏览当前生成的图片集,已生成图片管理非常简陋。 <br>
Fooocus only can browse the current generated image set. Finished images management is very simple.
- [x] **已出图片检索** 对已出图片可以按照出图日期进行检索。单天出图量过大,则根据屏幕适配分组为子目录索引,避免撑爆相册组件。
- [x] **已出图片删除** 对崩坏的已出图片可以即时删除,联动删除出图参数日志,确保图片和参数日志保持一致性。
- [x] **自动回填提示词** 在浏览已出图片集过程中,可选择自动回填图片提示词,方便提示词的对照和修改,及图片的重生。
- [x] **图片集交互优化** 已出图片集索引栏可根据状态适配,自动收起和调整,避免目录过多挤占页面空间,干扰图片生成创作。
### 嵌参图片和提参重生 / Embeded images and extract regeneration
增强的参数管理,可即时查看可嵌入图片,也可提取参数回填界面,二次生成。 <br>
Enhanced parameter management for instant viewing and embedding of images, and can also extract parameters to backfill for secondary generation.<br>
- [x] **查看参数** 从出图日志文件中提取当前图片的生成参数并用浮层完整展示。图集切换过程中,浮层内容跟随切换。
- [x] **提参重生** 用当前图片的生成参数覆盖默认预置包的参数,提示词回填,可以修改参数或提示词后重新出图。
- [x] **嵌参图片** 在系统未设置统一嵌参的情况,可以制作当前图片的参数打包嵌入,并保存到专属的嵌参图片目录。嵌参图片可通过图片描述工具提取参数形成新的出图环境配置。
### 启动包和升级包
- [x] **启动流程优化** 对接国内模型下载源,根据接入位置区分语言和下载源。国内IP默认中文,国内源;国外IP默认英文,国外源。提供启动参数可自定义覆盖默认值,满足科学魔法的适配需求。
- [x] **安装包瘦身** 用最小必备组件进行打包,生成一键安装包,从Fooocus主线的1.8G瘦身到81M。支持Fooocus配置文件的设置,可以共享模型和图片输出目录。
- [x] **整合完全包** 整合所有必要资源文件打包形成的完全包,一次下载,运行后就可直接出图。
- [x] **日志消息** 每次启动自动检测Fooocus主线和SimpleSDXL的更新日志,将更新消息显示到顶部消息浮层。
- [x] **版本标识** 以发布日期和版本哈希值作为SimpleSDXL的版本标识,方便定位排错。
### 算力云化及其他
- [x] **云化适配** 增加访问根路径启动参数,`--webroot`。当在云端服务器部署,并配置前置转发后,需要配置根路径参数,避免URL路径的混乱。
- [ ] **算力云化** 前后端分离,本机的出图算力后端可支持远程的前端出图调用,实现前端操控和出图计算的分离,让无GPU卡设备也可使用SDXL模型出图。
- [x] **主线同步** SimpleSDXL的增强代码保持良好的结构,与Fooocus主线版本保持良好的兼容性和扩展性,可以及时同步主线的新增能力和Bug修复。
## Linux安装使用 / Install & Usage
### 安装 Anaconda
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
### 安装应用环境
mkdir SimpleAI;cd SimpleAI
git clone https://github.com/metercai/SimpleSDXL.git
#国内用户可换用gitee源: https://gitee.com/metercai/SimpleSDXL.git
wget https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_base.zip
wget https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_ckpt.zip
cd SimpleSDXL
unzip -d -o ../models_base.zip
unzip -d -o ../models_ckpt.zip
conda env create -f environment.yaml
conda activate simpleai
pip install packaging pygit2==1.12.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
### 启动服务
python entry_with_update.py
# 云端部署可以配置: ip, port, webroot 等参数
# python entry_with_update.py
# Enter English UI : --language en
# python entry_with_update.py --language en
## 在线交流:qq群:938075852 需要增加哪些新功能,进群畅聊