基于Gradio/Stable Diffusion/Midjourney的AIGC自动图像绘画生成软件 - Fooocus

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

话不多说,直接上图。


提示词:一蓑烟雨任平生

提示词:中国风的女子和建筑

461602a6514d4ec99f06090649d5a39c.png

提示词:海底世界

0271a7951f4d47218f210e74c240cd20.png

提示词:未来地球幻想

3987c875eb8c4761aa8536ebd6c34367.png

提示词:江雨霏霏江草齐

264e07bd9c0144fe9c4b0bafbb2cb57b.png

提示词:追星星的男孩

9c2b514e03524b098789a8ab369710fb.png

最新版本添加了修图功能 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”。

​编辑

第一次启动软件时,它会自动下载模型:

  1. 它将从此处下载 sd_xl_base_1.0_0.9vae.safetensors作为文件“Fooocus\models\checkpoints\sd_xl_base_1.0_0.9vae.safetensors”。
  2. 它将从此处下载 sd_xl_refiner_1.0_0.9vae.safetensors作为文件“Fooocus\models\checkpoints\sd_xl_refiner_1.0_0.9vae.safetensors”。

​编辑

如果您已有这些文件,可以将它们复制到上述位置以加快安装速度。

请注意,如果您看到“MetadataIncompleteBuffer”,则您的模型文件已损坏。请重新下载模型。

下面是在一台具有16GB 系统 RAM6GB 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.浏览器访问对应的链接

ad26bdfac2d44b8bac7f5c86adfa4570.png

6.2.输入提示词,直接生成图片

可中文输入提示词,默认生成2张图片。默认配置点击Advance进行勾选设置。

6.3.设置

53422f5266b740a983fcfb76c06ef9fa.png

6.4.风格

bf5a5705a14d446281f75c05dac7677a.png

6.5.高级功能

15b3becdb4954fe7aa3aea7db3886684.png

6.6.绘图中

7ac6d9bbcdbb415cb186b9888a54b89f.png

对应的模型推理过程:

############################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

b43ae238abf147188e556a042cc23f73.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/83324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cpolar内网穿透

1、下载地址 https://www.cpolar.com/ windows系统可以在cpolar官网下载最新的安装包&#xff0c;然后解压默认安装即可。 2、地址配置 创建隧道映射内网端口&#xff0c;双击安装的软件&#xff0c;即可进入浏览器配置界面 http://localhost:9200/#/dashboard cpolar安装…

Vue中的生命周期钩子

生命周期钩子 :::warning 注意 所有生命周期钩子的 this 上下文将自动绑定至实例中&#xff0c;因此你可以利用 this 访问 props、data、computed 和 methods 等选项内的数据/函数。这意味着你不应该使用箭头函数来定义一个生命周期方法&#xff0c;因为箭头函数中没有 this&a…

实时车辆行人多目标检测与跟踪系统(含UI界面,Python代码)

算法架构&#xff1a; 目标检测&#xff1a;yolov5 目标跟踪&#xff1a;OCSort其中&#xff0c; Yolov5 带有详细的训练步骤&#xff0c;可以根据训练文档&#xff0c;训练自己的数据集&#xff0c;及其方便。 另外后续 目标检测会添加 yolov7 、yolox&#xff0c;目标跟踪会…

node_modules/XXX/index.js:XXX;XX ||= XXX?.[level];SyntaxError: Une

这个语法是 ECMAScript 2021的语法 还挺新的 对node版本要求会比较高 这里这个 icon || this.options.icon?.[level];意思就是 如果this.options.icon [level] 拿得到值 就等于它 否则 如果拿不到 icon 就等于自己 要解决这个问题 一个是你可以提高node版本 但我不建议 还是…

AlexNet——训练花数据集

目录 一、网络结构 二、创新点分析 三、知识点 1. nn.ReLU(inplace) 2. os.getcwd与os.path.abspath 3. 使用torchvision下的datasets包 4. items()与dict()用法 5. json文件 6. tqdm 7. net.train()与net.val() 四、代码 AlexNet是由Alex Krizhevsky、Ilya S…

NLP技术如何为搜索引擎赋能

目录 1. NLP关键词提取与匹配在搜索引擎中的应用1. 关键词提取例子 2. 关键词匹配例子 Python实现 2. NLP语义搜索在搜索引擎中的应用1. 语义搜索的定义例子 2. 语义搜索的重要性例子 Python/PyTorch实现 3. NLP个性化搜索建议在搜索引擎中的应用1. 个性化搜索建议的定义例子 2…

Java:JSR 310日期时间体系LocalDateTime、OffsetDateTime、ZonedDateTime

JSR 310日期时间体系&#xff1a; LocalDateTime&#xff1a;本地日期时间OffsetDateTime&#xff1a;带偏移量的日期时间ZonedDateTime&#xff1a;带时区的日期时间 目录 构造计算格式化参考文章 日期时间包 import java.time.LocalDateTime; import java.time.OffsetDateT…

Eclipse如何打开debug变量窗口

今天笔者在使用Eclipse调试的时候&#xff0c;发现没有变量&#xff08;Variables&#xff09;监视窗口&#xff0c;真是头痛得很&#xff0c;最后摸索出一套显示变量窗口的操作如下&#xff1a; 点击other&#xff0c;找到Variables并点击 最后调试代码&#xff0c;调试后如图…

机器学习(17)---支持向量机(SVM)

支持向量机 一、概述1.1 介绍1.2 工作原理1.3 三层理解 二、sklearn.svm.SVC2.1 查看数据集2.2 contour函数2.3 画决策边界&#xff1a;制作网格2.4 建模画图 三、非线性情况推广3.1 查看数据集3.2 线性画图3.3 为非线性数据增加维度并绘制3D图像 四、核函数 一、概述 1.1 介绍…

免杀对抗-Python-混淆算法+反序列化-打包生成器-Pyinstall

Python-MSF/CS生成shellcode-上线 cs上线 1.生成shellcode-c或者python 2.打开pycharm工具&#xff0c;创建一个py文件&#xff0c;将原生态执行代码复制进去 shellcode执行代码&#xff1a; import ctypesfrom django.contrib.gis import ptr#cs#shellcodebytearray(b"生…

IMX6ULL移植篇-Linux内核源码目录分析一

一. Linux内核源码目录 之前文章对 Linux内核源码的文件做了大体的了解&#xff0c;如下&#xff1a; IMX6ULL移植篇-Linux内核源码文件表_凌肖战的博客-CSDN博客 本文具体说明 Linux内核源码的一些重要文件含义。 二. Linux内核源码中重要文件分析 1. arch 目录 这个目录…

用了 TCP 协议,就一定不会丢包吗?

表面上我是个技术博主。 但没想到今天成了个情感博主。 我是没想到有一天&#xff0c;我会通过技术知识&#xff0c;来挽救粉丝即将破碎的感情。 掏心窝子的说。这件事情多少是沾点功德无量了。 事情是这样的。 最近就有个读者加了我的绿皮聊天软件&#xff0c;女生&#xff0c…

01强化学习的数学原理:大纲

01强化学习学习路线大纲 前言强化学习脉络图章节介绍Chapter 1&#xff1a;Basic ConceptsChapter 2&#xff1a;Bellman EquationChapter 3&#xff1a;Bellman Optimality EquationChapter 4&#xff1a;Value Iteration / Policy IterationChapter 5&#xff1a;Monte Carlo…

华为OD机试 - 靠谱的车 - 逻辑分析(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

JOSEF约瑟 智能电流继电器KWJL-20/L KWLD26 零序孔径45mm 柜内导轨式安装

KWJL-20智能电流继电器 零序互感器&#xff1a; KWLD80 KWLD45 KWLD26 KWJL-20 一、产品概述 KWJL-20系列智能剩余电流继电器&#xff08;以下简称继电器&#xff09;适用于交流电压至660V或更高的TN、TT、和IT系统&#xff0c;频率为50Hz。通过零序电流互感器检测出超过…

IOTE 2023国际物联网展直击:芯与物发布全新定位芯片,助力多领域智能化发展

IOTE 2023国际物联网展&#xff0c;作为全球物联网领域的盛会&#xff0c;于9月20日在中国深圳拉开帷幕。北斗星通集团应邀参展&#xff0c;旗下专业从事物联网、消费类GNSS芯片研发设计的芯与物公司也随其亮相本届盛会。 展会上&#xff0c;芯与物展示了一系列创新的GNSS定位…

消费盲返模式:一种让消费者和商家都受益的新型消费返利模式

消费盲返是一种新型的消费返利模式&#xff0c;它的核心思想是&#xff1a;消费者在平台购买商品后&#xff0c;可以获得后续一定数量的订单的部分利润作为奖励。这样&#xff0c;消费者不仅可以享受商品的优惠&#xff0c;还有可能赚取更多的钱。 这种模式对于平台和消费者都有…

iOS蓝牙 Connection Parameters 关键参数说明

1. 先贴苹果文档 《 Accessory Design Guidelines for Apple Devices 》 2. 几个关键词 connection Event Interval 事件间隔&#xff0c;为1.25ms的倍数。可以简单理解为,是两个连接着的蓝牙设备发送“心跳包”的时间间隔&#xff1b; 范围是 6 ~ 3200&#xff0c;即 7.5…

Jmeter性能测试吞吐量控制器使用小结

吞吐量控制器(Throughput Controller)场景: 在同一个线程组里, 有10个并发, 7个做A业务, 3个做B业务,要模拟这种场景,可以通过吞吐量模拟器来实现.。 jmeter性能测试&#xff1a;2023最新的大厂jmeter性能测试全过程项目实战详解&#xff0c;悄悄收藏&#xff0c;后面就看不到…

Pytorch史上最全torch全版本离线文件下载地址大全(9月最新)

以下为pytorch官网的全版本torch文件离线下载地址 torch全版本whl文件离线下载大全https://download.pytorch.org/whl/torch/其中的文件版本信息如下所示&#xff08;部分版本信息&#xff0c;根据需要仔细寻找进行下载&#xff09;&#xff1a;