丹摩征文活动 | 轻松上手图像生成:FLUX.1遇上ComfyUI,让复杂变简单!

news2024/12/23 13:22:52

 一、背景

FLUX.1是由黑森林实验室推出的一款前沿图像生成模型,针对不同用户需求,提供了三种不同版本。

FLUX.1-pro是专为企业设计的闭源版本,拥有无与伦比的性能和生成能力。其在识别提示词、提升视觉质量、细节表现及输出多样性方面都有出色表现,特别适合需要高性能图像生成的企业用户。用户可以通过官方API访问该版本,并获得个性化的服务。

FLUX.1-dev是一个开源但限制商用的版本,是在FLUX.1-pro基础上开发的。它保留了高精度提示词识别能力,并在效率上有所优化,特别适合开发者用于研究和开发。

FLUX.1-schnell则是面向个人和本地开发者的开源可商用版本,使用Apache 2.0许可。其特点是生成速度快且内存占用低,非常适合资源有限的使用环境。

据官方数据,FLUX.1的训练参数达到了120亿,远超SD3 Medium的20亿。这使得FLUX.1-pro和FLUX.1-dev在图像质量、提示词准确性、大小适应性、布局和多样性输出方面,全面领先于市场上的主流模型,如Midjourney v6.0、DALL·E 3 (HD)和SD3-Ultra。

二、流程

1. 进入[控制台-GPU云实例](https://www.damodel.com/console/instance),点击创建实例:

2. 进入创建页面后,首先在实例配置中选择付费类型,一般短期需求可以选择按量付费或者包日,长期需求可以选择包月套餐;

其次选择GPU数量和需求的GPU型号,首次创建实例推荐选择:

   - 按量付费

   - GPU数量1

   - NVIDIA-GeForc-RTX-4090:该配置为60GB内存,24GB的显存(本次测试的LLaMA3.1 8B 版本至少需要GPU显存16G)

   接下来配置数据硬盘的大小,每个实例默认附带了50GB的数据硬盘,FLUX.1模型较大,建议扩容至150GB。

3.  继续选择安装的镜像,平台提供了一些基础镜像供快速启动,镜像中安装了对应的基础环境和框架,可通过勾选来筛选框架,这里筛选PyTorch,选择PyTorch 2.4.0。

4.  为保证安全登录,创建密钥对,输入自定义的名称,然后选择自动创建并将创建好的私钥保存的自己电脑中,以便后续本地连接使用。

5.  创建好密钥对后,选择刚刚创建好的密钥对,并点击立即创建,等待一段时间后即可启动成功!

三、实例

>  接下来将基于平台提供的JupyterLab工具,演示fp16版本的部署流程。

启动JupyterLab,并创建终端:

四、部署ComfyUI

1. 在终端中执行以下命令克隆ComfyUI代码:

# github官方代码仓库

git clone https://github.com/comfyanonymous/ComfyUI.git

# gitCode-github加速计划代码仓库

git clone https://gitcode.com/gh_mirrors/co/ComfyUI.git

2. 克隆完成后可看到如下目录:

3.  终端进入`/root/workspace/ComfyUI`目录,执行以下命令,安装ComfyUI需要的依赖:

cd ComfyUI/

pip install -r requirements.txt --ignore-installed

4.  执行以下命令,启动ComfyUI:

python main.py --listen

5.  看到服务成功启动,说明ComfyUI部署成功!

五、部署FLUX.1

> 推荐您阅读[ComfyUI官方使用FLUX.1示例](https://comfyanonymous.github.io/ComfyUI_examples/flux/),以下是基于丹摩平台的部署教程

1. 平台已预制FLUX.1相关资源,您可通过内网高速下载:

shell

# 下载完整FLUX.1-dev模型

wget http://file.s3/damodel-openfile/FLUX.1/FLUX.1-dev.tar

# 下载完整FLUX.1-schnell模型

wget http://file.s3/damodel-openfile/FLUX.1/FLUX.1-dev.tar

# 下载完整Clip模型

wget http://file.s3/damodel-openfile/FLUX.1/flux_text_encoders.tar

2. 此处以FLUX.1-dev为例演示,首先下载完整FLUX.1-dev模型:

wget http://file.s3/damodel-openfile/FLUX.1/FLUX.1-dev.tar

3.  解压文件:

tar -xf FLUX.1-dev.tar

4.  解压后完成后可看到如下目录:

5. 把其中的一些文件移至ComfyUI指定目录:

   - 大模型文件`flux1-dev.safetensors`需要移动至`/root/workspace/ComfyUI/models/unet/`文件夹中

   - vae文件`ae.safetensors`需移动至`/root/workspace/ComfyUI/models/vae/`文件夹中

# 进入解压后的文件夹

cd /root/workspace/FLUX.1-dev

# 移动文件

mv flux1-dev.safetensors /root/workspace/ComfyUI/models/unet/

mv ae.safetensors /root/workspace/ComfyUI/models/vae/

6.  接下来下载完整Clip模型:

# 进入JupyterLab根目录

cd /root/workspace

# 下载文件

wget http://file.s3/damodel-openfile/FLUX.1/flux_text_encoders.tar

7.  解压文件

tar -xf flux_text_encoders.tar

8.  解压后完成后可看到如下目录:

9.  把其中的一些文件移至ComfyUI指定目录:

# 进入解压后的文件夹

cd /root/workspace/flux_text_encoders

# 移动文件

mv clip_l.safetensors /root/workspace/ComfyUI/models/clip/

mv t5xxl_fp16.safetensors /root/workspace/ComfyUI/models/clip/

六、使用流程

1. 终端进入ComfyUI目录,执行以下命令,启动ComfyUI:

```bash

cd /root/workspace/ComfyUI

python main.py --listen

2.  启动成功,host为`0.0.0.0`,端口为`8188`:

Starting server

To see the GUI go to: http://0.0.0.0:8188

3.  通过丹摩平台提供的端口映射能力,把内网端口映射到公网; 进入[GPU 云实例页面](https://www.damodel.com/console/instance),点击操作-更多-访问控制:

4.  点击添加端口,添加服务对应端口:

5.  添加成功后,通过访问链接即即可打开ComfyUI交互界面:

七、展示效果

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

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

相关文章

PyTorch核心概念:从梯度、计算图到连续性的全面解析(三)

文章目录 Contiguous vs Non-Contiguous TensorTensor and ViewStrides非连续数据结构:Transpose( )在 PyTorch 中检查Contiguous and Non-Contiguous将不连续张量(或视图)转换为连续张量view() 和 reshape() 之间的区别总结 参考文献 Contig…

「IDE」集成开发环境专栏目录大纲

✨博客主页何曾参静谧的博客📌文章专栏「IDE」集成开发环境📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定…

Kafka经典面试题

1、kafka消息发送的流程? producer发送过程中启动两个线程 一个main线程 一个sender线程,在main线程中先创建一个双端队列(RecordAccumlator、producerbatch),main将我们需要发送的东西经过拦截器,序列化&a…

手把手写深度学习(29):将DDP训练代码改成DeepSpeed

手把手写深度学习(0):专栏文章导航 前言:deepspeed已经成为了大模型时代训练模型的常规武器,这篇博客以一个基于DDP的 Stable Diffusion模型训练为例,讲解如何从将DDP训练代码改成DeepSpeed。 目录 构建optimizer 构建scheduler…

信息收集系列(二):ASN分析及域名收集

内容预览 ≧∀≦ゞ 信息收集系列(二):ASN分析及域名收集前言一、ASN 分析1. 获取 ASN 码2. 使用 ASNMap 获取 IP 范围3. 将 IP 范围转化为 IP 列表 二、关联域名收集1. 顶级域(TLD)收集测试方法 2. 根域名收集常用方法…

《数学分析》中不等式及补充

说明:此文章用于本人复习巩固,如果也能帮到大家那就更加有意义了。 注:1)《数学分析》中的不等式及不等式的补充

HTML之图片和超链接的学习记录

图片 在HTML中&#xff0c;我们可以使用img标签来显示一张图片。对于img标签&#xff0c;我们只需要掌握它的三个属性&#xff1a;src、alt和title。 <img src"" alt"" title"" /> src用于指定图片所在的路径&#xff0c;这个路径可以是…

unity显示获取 年月日周几【日期】

unity显示获取 年月日周几【日期】 public void ShowDate(Text txt){//txt.text DateTime now DateTime.Now; // 获取当前时间int year now.Year; // 获取年份int month now.Month; // 获取月份&#xff08;1-12&#xff09;int day now.Day; // 获取天数&#xff08;1-31&…

【区块链】深入理解智能合约 ABI

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 深入理解智能合约 ABI&#xff08;应用程序二进制接口&#xff09;一、ABI 基础…

鸿蒙ZRouter动态路由框架—生命周期管理能力

文章目录 基本使用(单个页面生命周期&#xff09;页面的全局生命周期监听工作流程图源码 ZRouter从1.1.0版本开始支持生命周期函数管理能力&#xff0c;主要有以下特点&#xff1a; 不影响你原有的生命周期业务逻辑&#xff0c;对NavDestination页面保持着零侵入性&#xff0c;…

代码随想录算法训练营第十九天|理论基础、77. 组合、216.组合总和III、17.电话号码的字母组合

理论基础 文章链接&#xff1a;代码随想录 视频讲解&#xff1a;带你学透回溯算法&#xff08;理论篇&#xff09;| 回溯法精讲&#xff01;_哔哩哔哩_bilibili关于回溯算法&#xff0c;我公众号里已经讲完了&#xff0c;并且将回溯算法专题整理成一本PDF&#xff0c;该PDF共…

uniapp的基本使用(easycom规范和条件编译)和uview组件的安装和使用

文章目录 1、uniapp1.uview组件安装2.uview-plus组件安装 2、条件编译3、easycom规范1.组件路径符合规范2.自定义easycom配置的示例 总结 1、uniapp UniApp的UI组件库&#xff0c;如TMUI、uViewUI、FirstUI、TuniaoUI、ThorUI等&#xff0c;这些组件库适用于Vue3和TypeScript&…

深入探索GDB调试技巧及其底层实现原理

本文分为两个大模块&#xff0c;第一部分记录下本人常用到的GDB的调试方法和技巧&#xff0c;第二部分则尝试分析GDB调试的底层原理。 一、GDB调试 要让程序能被调试&#xff0c;首先得编译成debug版本&#xff0c;当然release版本的也能通过导入符号表来实现调试&#xff0c…

Kubernetes的基本概念

Kubernetes是谷歌以Borg为前身,基于谷歌15年生产环境经验的基础上开源的一个项目,Kubernetes致力于提供跨主机集群的自动部署、扩展、高可用以及运行应用程序容器的平台。 一、资源对象概述 Kubernetes中的基本概念和术语大多是围绕资源对象(Resource Object)来说的,而资…

JavaWeb后端开发案例——苍穹外卖day01

day1遇到问题&#xff1a; 1.前端界面打不开&#xff0c;把nginx.conf文件中localhost:80改成81即可 2.前后端联调时&#xff0c;前端登录没反应&#xff0c;application.yml中默认用的8080端口被占用&#xff0c;就改用了8081端口&#xff0c;修改的时候需要改两个地方&…

(一)<江科大STM32>——软件环境搭建+新建工程步骤

一、软件环境搭建 &#xff08;1&#xff09;安装 Keil5 MDK 文件路径&#xff1a;江科大stm32入门教程资料/Keil5 MDK/MDK524a.EXE&#xff0c;安装即可&#xff0c;路径不能有中文。 &#xff08;2&#xff09;安装器件支持包 文件路径&#xff1a;江科大stm32入门教程资料…

软件开发的各类模型

目录 软件的生命周期 常见开发模型 瀑布模型 螺旋模型 增量模型、迭代模型 敏捷模型 Scrum模型 常见测试模型 V模型 W模型&#xff08;双V模型&#xff09; 软件的生命周期 软件的生命周期包括需求分析&#xff0c;计划&#xff0c;设计&#xff0c;编码&#xff0c;…

ElasticSearch学习笔记一:简单使用

一、前言 该系列的文章用于记录本人从0学习ES的过程&#xff0c;首先会对基本的使用进行讲解。本文默认已经安装了ES单机版本&#xff08;当然后续也会有对应的笔记&#xff09;&#xff0c;且对ES已经有了相对的了解&#xff0c;闲话少叙&#xff0c;书开正文。 二、ES简介 …

C++笔记---异常

1. 异常的概念 1.1 异常和错误 异常通常是指在程序运行中动态出现的非正常情况&#xff0c;这些情况往往是可以预见并可以在不停止程序的情况下动态地进行处理的。 错误通常是指那些会导致程序终止的&#xff0c;无法动态处理的非正常情况。例如&#xff0c;越界访问、栈溢出…

python opencv3

三、图像预处理2 1、图像滤波 为图像滤波通过滤波器得到另一个图像。也就是加深图像之间的间隙&#xff0c;增强视觉效果&#xff1b;也可以模糊化间隙&#xff0c;造成图像的噪点被抹平。 2、卷积核 在深度学习中&#xff0c;卷积核越大&#xff0c;看到的信息越多&#xff0…