SimpleSDXL2 / README.md
metercai's picture
Update README.md
f55342d verified
|
raw
history blame
No virus
13.5 kB
metadata
license: apache-2.0

SimpleSDXL2 - 扩展后端,超越Fooocus,支持6G显存国产混元与SD3出图。

🔔 最新更新 / Update

  • [2024.06.30] 扩展架构,新增Comfy后端,全新升级SimpleSDXL2。支持SDXL、混元、SD3和Playground-v2.5本地模型,最低6G显卡内存可用,保持Fooocus简洁、高效和稳定的出图风格。新增融图打光模块,可自主生成前景及蒙版,可自动抠取产品或人物图片切换场景进行融合。升级OBP一键提示词到最新版。UI整体优化。
  • [2024.05.28] 同步主线升级到v2.4.3,新增nsfw过滤等功能。
  • [2024.04.23] 升级OBP到最新版,集成Superprompt超级提示词扩展,为提示词增补细节描写。新增SD3生图引擎接口,可到stability.ai申请免费会员,获取接口密钥后无缝对接SD3新引擎生成图片。优化界面,包括将OBP和Superprompt入口整合到提示词框,新增预置包导航浮层提示、提示词框token数统计、图生图多个参数前置到操作页面等。

重要:如果项目给您带来了便利和价值,不要吝惜加颗星"⭐️",促进项目更好的发展!😜
Note: Please don't forget to give us a star if you like this project. Thanks! 😜

Windows安装使用

下载:(新用户至少要下载程序包和基本模型包)

安装:

  • 新建空目录,路径名上不能包含中文和空格。将程序包复制到新目录,去掉.7z的文件名尾缀,然后点击运行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

对比Fooocus的增强特色 / Enhanced features of Fooocus

在Fooocus基础上增强功能,可无缝升级,同步迭代,并行使用。而且经过了手机适配,PC和手机也可同步操作。
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

在线离线自主选择,支持翻译后再编辑,更适于提示词表达。
Offline and online autonomous selection, support editing after translation, more suitable for Prompt.

  • 中英文混合编辑 对提示词文本进行中英文切分后分别翻译再合并,适配提示词类的表达场景。
  • 在线和离线翻译器 可自动安装离线翻译大模型和小尺寸的瘦模型,也可选择第三方翻译接口。离线模型需自身算力支持,第三方接口接入便捷成本低,但增加了接口依赖。用户可根据情况自主配置选>择。
  • 支持翻译后再编辑 机器翻译的结果质量都不可控,存在翻译质量差导致生成内容偏差的现象。翻译后再编辑可以显性化翻译质量,提供用户再优化调整处理的空间。
  • 多大厂接口随机选 选择国内大厂(百度、阿里和搜狗)的稳定接口,每次启动时随机选择,运行态相对固定。既避免对接口冲击又保持翻译的一致性。
  • 私有翻译接口定制 可以配置私有接口,方便对接OpenAI等大语言模型的翻译能力。

智能抠图生成蒙板 / Intelligent cutout generation mask

具有语义识别的多种抠图算法,可自动生成蒙板,方便生成图片的组合加工。
Multiple cropping algorithms with semantic recognition that can automatically generate masks, facilitating the combination processing of generated images.

  • 智能算法抠图 可以基于u2net进行图像分割,对重绘图片进行前后景分割,人物主体分割,并生成对应蒙板进行重绘。
  • 语义识别抠图 可以基于bert+Sam,在语义理解基础上识别图片内容,再进行自动分割,生成蒙板后进行重绘。
  • 点击识别抠图 点击图片某个区域,基于Sam算法对点击所在主体进行自动识别和分割,生成蒙板后进行重绘。

通配符批量提示词 / Wildcard batch prompt words

支持通配符词组表达和触发展示,可随机批量生成同Seed下的一组图片。
Supports wildcard phrase expressions and triggering display, allowing for random batch generate a set of images under the same seed.

  • 词组语法 支持[Words]词组,以","分割的词列表。表示在同一seed下从每个words词组抽词进行组合批量生成图片。每种组合1张图片,总量是各词组词数的乘积,以实际需要的数量为准,不受出图数量参数的限制。
  • 通配符组词 用通配符定义词组,格式为:[__wildcard__:R|Lnumber:start] R表示随机抽,L表示按顺序抽,默认=R;number是抽取的数量,默认=1;start是在顺序抽取时从第几个开始抽,默认=1。具体语法说明见通配符ReadMe
  • 自动触发输入 提示词框在输入'['或'_'时可自动触发通配符输入工具,可以通过界面选择追加通配符到提示词框。
  • 嵌套及动态加载 支持通配符的多级嵌套和动态加载,增强通配符的表达能力。
  • 定制和推送 支持自主定制通配符快捷方式,并推送给朋友使用。

增强预置包和模型下载 / Enhanced preset and adapted for download

预置包可通过界面切换和生成,模型下载会根据IP自动选择内外源。
The preset can be switched and generated through UI, and the model download will automatically select sources based on the access IP.

  • 预置包导航 将presets目录下的预置包配置文件生成顶部导航入口,户点击顶部预置包导航后,调取对应配置文件,重置出图环境参数和相关配置。
  • 生成预置包 将当前出图环境参数打包保存为新的预置包,将预置包文件存入presets目录下,自动加入顶部导航。
  • 扩展预置参数 扩展主线的预置包参数范围,补充开发者模式的参数,以及风格样式的定义和通配符的定义。支持的预置包参数见预置包ReadMe
  • 统一模型ID和下载 对接模型信息库,使用以模型文件哈希为基础的统一模型MUID。可自动检测预置包出图环境的可用性,缺失模型文件可自动下载补齐。
  • 出图保护 当系统环境进入出图状态时,顶部导航不可点击,禁止加载预置包冲击出图环境。

图片集浏览和管理 / Finished image sets browsing and management

原生版仅能浏览当前生成的图片集,已生成图片管理非常简陋。
Fooocus only can browse the current generated image set. Finished images management is very simple.

  • 已出图片检索 对已出图片可以按照出图日期进行检索。单天出图量过大,则根据屏幕适配分组为子目录索引,避免撑爆相册组件。
  • 已出图片删除 对崩坏的已出图片可以即时删除,联动删除出图参数日志,确保图片和参数日志保持一致性。
  • 自动回填提示词 在浏览已出图片集过程中,可选择自动回填图片提示词,方便提示词的对照和修改,及图片的重生。
  • 图片集交互优化 已出图片集索引栏可根据状态适配,自动收起和调整,避免目录过多挤占页面空间,干扰图片生成创作。

嵌参图片和提参重生 / Embeded images and extract regeneration

增强的参数管理,可即时查看可嵌入图片,也可提取参数回填界面,二次生成。
Enhanced parameter management for instant viewing and embedding of images, and can also extract parameters to backfill for secondary generation.

  • 查看参数 从出图日志文件中提取当前图片的生成参数并用浮层完整展示。图集切换过程中,浮层内容跟随切换。
  • 提参重生 用当前图片的生成参数覆盖默认预置包的参数,提示词回填,可以修改参数或提示词后重新出图。
  • 嵌参图片 在系统未设置统一嵌参的情况,可以制作当前图片的参数打包嵌入,并保存到专属的嵌参图片目录。嵌参图片可通过图片描述工具提取参数形成新的出图环境配置。

启动包和升级包

  • 启动流程优化 对接国内模型下载源,根据接入位置区分语言和下载源。国内IP默认中文,国内源;国外IP默认英文,国外源。提供启动参数可自定义覆盖默认值,满足科学魔法的适配需求。
  • 安装包瘦身 用最小必备组件进行打包,生成一键安装包,从Fooocus主线的1.8G瘦身到81M。支持Fooocus配置文件的设置,可以共享模型和图片输出目录。
  • 整合完全包 整合所有必要资源文件打包形成的完全包,一次下载,运行后就可直接出图。
  • 日志消息 每次启动自动检测Fooocus主线和SimpleSDXL的更新日志,将更新消息显示到顶部消息浮层。
  • 版本标识 以发布日期和版本哈希值作为SimpleSDXL的版本标识,方便定位排错。

算力云化及其他

  • 云化适配 增加访问根路径启动参数,--webroot。当在云端服务器部署,并配置前置转发后,需要配置根路径参数,避免URL路径的混乱。
  • 算力云化 前后端分离,本机的出图算力后端可支持远程的前端出图调用,实现前端操控和出图计算的分离,让无GPU卡设备也可使用SDXL模型出图。
  • 主线同步 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 需要增加哪些新功能,进群畅聊