DAMODEL丹摩|部署FLUX.1+ComfyUI实战教程

本文仅做测评体验,非广告。

文章目录

  • 1. FLUX.1简介
  • 2. 实战
    • 2. 1 创建资源
    • 2. 1 ComfyUI的部署操作
    • 2. 3 部署FLUX.1
  • 3. 测试
  • 5. 释放资源
  • 4. 结语


1. FLUX.1简介

FLUX.1是由黑森林实验室(Black Forest Labs)开发的开源AI图像生成模型。它拥有12B(120亿)参数,是迄今为止最大的文生图模型之一。FLUX.1以其卓越的图像质量、高度逼真的人体解剖学表现和先进的提示词遵循能力而脱颖而出,为AI图像生成设定了新的行业标准。

FLUX.1包含三种变体,以满足不同用户的需求:

  1. FLUX.1 Pro:顶级性能版本,适合需要最高图像质量和详细输出的商业应用。
  2. FLUX.1 Dev:开源非商业用途版本,是从FLUX.1 Pro提炼而来,具有类似的质量和提示词能力,同时比相同大小的标准模型更高效。
  3. FLUX.1 Schnell:快速高效的版本,专为本地开发和个人使用量身定制,在Apache2.0许可下公开可用。它在生成速度上具有明显优势,同时对内存的占用也是最小的。

FLUX.1的竞争力:

  • 大规模参数:拥有12B参数,是最大的开源文本到图像模型之一。
  • 多模态架构:基于多模态和并行扩散Transformer块的混合架构,提供强大的图像生成能力。
  • 高性能变体:提供三种不同性能和用途的模型变体。
  • 图像质量:在视觉质量、提示词遵循、大小/纵横比可变性、字体和输出多样性等方面超越了其他流行的模型。
  • 开源和可访问性:部分模型变体如FLUX.1 Dev和FLUX.1 Schnell是开源的,易于研究和非商业应用。
  • 技术创新:引入了流匹配训练方法、旋转位置嵌入和并行注意力层,提高了模型性能和硬件效率。

FLUX.1的应用场景广泛,包括媒体和娱乐、艺术创作与设计、广告和营销、教育和研究以及内容创作等多个领域。它能够帮助用户轻松将创意愿景转化为具体视觉效果,是一个强大的AI图像生成工具。

1

2. 实战

丹摩平台链接

2. 1 创建资源

2

  1. 在创建页面可以看到丹摩提供了三种付费方式,本教程使用按量付费,如果有长期的需求,可以自行选择包月或包日。

  2. 丹摩还提供了非常多种不同层次的配置供选择,这里选用第一种NVIDIA-GeForce-RTX-4090,你可以根据个人需求选择更高的配置。

  3. 接着是数据硬盘,默认是100G数据盘和50G数据盘,对于FLUX.1模型,建议将数据盘至少增加至150GB。

  4. 安装镜像,选择镜像市场点加号就可以看到许多类型与版本的基础镜像,这些镜像中已经包含了系统与对应的框架环境,开箱即用。这里选用PyTorch2.4.0。

  5. 创建密钥对(增加安全性,可跳过)
    3

    自定义一个名字后妥善保管下载下来的秘钥文件。

    4

    然后选择刚刚创建的密钥对。

    6

    最后点击右下角的立即创建就好了。

    配置总览:

    6

创建后自动跳转到如下界面,耐心等待创建完成。

7

创建完成后点击黄字就可以跳转到云实例进行操作了。

9

进入云实例后选择Terminal

10

就可以进入到 Linux 的命令行界面,然后就可以进行下一步操作了。

注:进入后先输入

clear

就可以清除系统的红色提示。

11

2. 1 ComfyUI的部署操作

在命令行中输入以下两个代码中的一个,推荐使用第二个与CSDN合作的 gitcode 的域名,下载比 github 快很多。

# github官方代码仓库
git clone https://github.com/comfyanonymous/ComfyUI.git
# gitCode-github加速计划代码仓库
git clone https://gitcode.com/gh_mirrors/co/ComfyUI.git

输入后回车,等待几秒,出现下图的目录就说明克隆项目成功了。

11

双击左边的ComfyUI就可以进入目录。

12

这里便是ComfyUI的项目文件。

接下来的操作需要Linux基础,如果你没学过,照做就好。

cd ComfyUI/
pip install -r requirements.txt --root-user-action=ignore

第一行是切换到 ComfyUI这个目录下。

第二行代码用来下载ComfyUI所需要的依赖,丹摩会自动使用国内的镜像源去下载,所以还是很快的。

下载完成后,执行:

python main.py --listen

如果出现的是类似这样的信息:
14

就说明ComfyUI部署完成。

2. 3 部署FLUX.1

在下面的三行代码选取一个:

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

作用依次为:

  1. 下载完整FLUX.1-dev模型
  2. 下载完整FLUX.1-schnell模型
  3. 下载完整Clip模型

安装之前先按 ctrl+c 退出刚才进入的 python 程序。

这里采用第一个进行安装。

安装包非常大,所以需要耐心等待,不过放心,下载操作发生在云端,不会占用你的带宽。

16

下载完成后进行解压:

tar -xf FLUX.1-dev.tar

这么大的文件解压也需要挺长时间,出现如下界面时耐心等待,不要进行任何操作。

17

解压完成后:

18

接下来移动一些文件到指定的地方:

cd /root/workspace/ComfyUI/FLUX.1-dev
mv flux1-dev.safetensors /root/workspace/ComfyUI/models/unet/
mv ae.safetensors /root/workspace/ComfyUI/models/vae/
  1. 进入解压后的文件夹。(如果没有解压到这个位置,请自行修改路径)
  2. 后面两行都是移动文件的位置,不多解释。
cd ../

切换到上级目录(/root/workspace/ComfyUI/)。

执行:

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

等待下载完成后进行解压:

tar -xf flux_text_encoders.tar

解压完成后再次进行文件移动:

cd /root/workspace/ComfyUI/flux_text_encoders
mv clip_l.safetensors /root/workspace/ComfyUI/models/clip/
mv t5xxl_fp16.safetensors /root/workspace/ComfyUI/models/clip/

这样部署就完成了。

3. 测试

执行:

cd /root/workspace/ComfyUI
python main.py --listen
  1. 切换到项目路径。
  2. 执行项目。

如果你出现如下报错:

19

依次执行:

apt-get update
apt-get install lsof

安装lsof,安装完成后执行:

sudo kill -9 $(sudo lsof -t -i:8188)

这样就能正常运行了:

20

回到丹摩平台:

21

22

输入8188并创建。

23

将链接复制下来访问就能进入页面:

24

点击右侧大大的Load,加载你的工作流就可以运行了。

5. 释放资源

如果你不打算长期使用创建的实例,一定要释放资源,不然会持续扣费。
释放

4. 结语

在本教程中,我们不仅探索了FLUX.1和ComfyUI的强大功能,还体验了丹摩平台的便捷性和高效性。
丹摩平台以其用户友好的界面、灵活的资源配置和即开即用的便捷性,为用户提供了一个理想的AI开发和部署环境。

谢谢你的阅读,喜欢的话来个点赞收藏评论关注吧!
我会持续更新更多优质文章

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

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

相关文章

具体的技术和工具在县级融媒体建设3.0中有哪些应用?

以下是结合数据来看县级融媒体建设3.0的一些情况: 技术应用方面 大数据:人民网舆情数据中心执行主任董盟君提到,通过大数据分析可让融媒体单位快速关注聚焦点,实现智能策划、智能推送、智能传播,推动媒体传播影响力提…

中兴机顶盒B860AV1.1刷机固件升级和教程「适用4/8G版」

准备工作: TTL 线(CH340G 按系统版本找到要对应驱动)下载 putty 软件拆开电视盒接好 TTL 线(2、5、6 针脚对应GND、RX、TX)在资源管理器的端口选项下找到 CH340G,记住端口号(如 COM4&#xff0…

论 AI(人工智能)的现状

刚直播完,就写篇文章,说说我对AI的看法。 一直以来,想对AI 有一个总结,现在AI工具层出不穷,但是它的本质上发展还是缓慢,通过其他方式来扩展本身的能力。 我认为的人工智能 只有像钢铁侠与贾维斯以及终结…

volcano k8s 部署

下载volcano-development文件 官网 https://volcano.sh/zh/docs/installation/volcano-development.yaml wget https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yaml部署volcano 查下需要下载的镜像 grep vc- volcano-develo…

SeggisV1.0 遥感影像分割软件【源代码】讲解

在此基础上进行二次开发,开发自己的软件,例如:【1】无人机及个人私有影像识别【2】离线使用【3】变化监测模型集成【4】个人私有分割模型集成等等,不管是您用来个人学习 还是公司研发需求,都相当合适,包您满…

Dubbo 最基础的 RPC 应用(使用 ZooKeeper)

看国内的一些项目时 Dubbo 这个词经常闪现,一直也不以为然,未作搜索,当然也不知道它是做什么用的。直到最近阅读关于大型网站架构相关的书中反复提到 Dubbo 后,觉得不能再对它视而不见。Google 了一下,它是在阿里巴巴创…

QINQ技术

定义 QINQ即802.1q in 802.1q,因为IEEE802.1Q中定义的Vlan Tag域只有12个比特,仅能表示4096个Vlan,随网络发展被用尽,于是在原有带vlan的数据上再携带一层vlan标签用于扩展vlan数目。一般来说外层vlan是公网,内层是私…

用哪两种方式来实现集合的排序?

集合(Set)是一种常见的数据结构,用于存储不重复的元素。在某些情况下,我们需要对集合中的元素进行排序。虽然集合本身是无序的,但我们可以将集合转换为其他有序的数据结构(如列表)来实现排序。 …

数据库与大数据管理 头歌作业 期末复习

1、 下列说法错误的是?c A、UserCF算法推荐的是那些和目标用户有共同兴趣爱好的其他用户所喜欢的物品 B、ItemCF算法推荐的是那些和目标用户之前喜欢的物品类似的其他物品 C、UserCF算法的推荐更偏向个性化 D、UserCF随着用户数目的增大,用户相似度…

在 Linux 系统中根据pid查找软件位置

在 Linux 系统中,如果您知道一个进程的 PID(进程标识符),并且想要找到该进程对应的可执行文件的位置,可以使用以下几种方法: 方法一:使用 ps 命令 ps 命令可以显示进程的详细信息,包括可执行文件的路径。假设您的 PID 是 1234,可以使用以下命令: ps -p 1234 -o co…

未成年人模式护航,保障安全健康上网

为保护未成年人的上网环境,预防未成年人沉迷网络,帮助未成年人培养积极健康的用网习惯,HarmonyOS SDK 提供未成年人模式功能,在华为设备上加强对面向未成年人的产品和服务的管理。 场景介绍(应用跟随系统未成年人模式…

linux基础2

声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…

如何分析 Nginx 日志

分析 Nginx 日志可以帮助我们了解服务器性能、流量来源、用户行为,以及诊断问题(如错误和攻击)。以下是详细的分析方法: 1. 日志类型 Nginx 有两种主要日志: 访问日志 (Access Log):记录客户端对服务器的…

博客摘录「 【UnityEditor编辑器扩展】遍历子节点,带中断实现」2024年11月28日

Unity项目内,全局搜索预制体 var title ""; var progress 0; var files SearchFiles(Application.dataPath, new []{"*.prefab"}); EditorUtility.DisplayProgressBar(title, assetPath, progress / filesCount); EditorUtility.ClearProgr…

数据结构入门(C语言复习)malloc开辟free释放

/*void* malloc(size_t) 如果成功&#xff0c;会返回从堆内存上分配的内存指针 如果失败&#xff0c;会返回空指针*/ #include<stdio.h> #include<stdlib.h>//malloc要用 #include<string.h> typedef struct { int x;//如果是char x&#xff0c;内存对齐…

Git仓库迁移到远程仓库(源码、分支、提交)

单个迁移仓库 一、迁移仓库 1.准备工作 > 手动在电脑创建一个临时文件夹&#xff0c;CMD进入该目录 > 远程仓库上创建一个同名的空仓库 2.CMD命令&#xff1a;拉取旧Git仓库&#xff08;包含提交、分支、源码&#xff09; $ git clone --bare http://git.domain.cn/…

鸿蒙千帆启新程,共绘数字生态蓝图

华为的鸿蒙千帆起计划&#xff1a;共筑数字未来&#xff0c;学习华为创新之路 在当今全球科技竞争日益激烈的背景下&#xff0c;华为作为中国科技企业的代表&#xff0c;正通过其自主创新的鸿蒙系统&#xff0c;引领一场移动应用生态的变革。鸿蒙千帆起计划&#xff0c;作为华…

React Native 组件详解之 ActivityIndicator、Button、FlatList、Image、ImageBackground

React Native 组件详解&#xff1a;ActivityIndicator、Button、FlatList、Image 和 ImageBackground 在 React Native 中&#xff0c;组件是构建用户界面的基本单元。它们可以是简单的 UI 元素&#xff0c;如按钮或图像&#xff0c;也可以是复杂的列表或表单。了解这些组件的…

高级java每日一道面试题-2024年11月28日-JVM篇-调优命令有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: 调优命令有哪些? 我回答: 在Java高级面试中&#xff0c;调优命令是面试官常问的问题之一。以下是对Java调优命令的详细介绍&#xff1a; 一、主要调优命令 1. jps&#xff08;JVM Process Status Tool&#xff09; 功能&#x…

Qt-系统相关(2)多线程网络

Qt多线程 在 Qt 中&#xff0c;多线程的处理⼀般是通过 QThread类 来实现。 QThread 代表⼀个在应⽤程序中可以独⽴控制的线程&#xff0c;也可以和进程中的其他线程共享数据。 QThread 对象管理程序中的⼀个控制线程。 QThread 常⽤ API&#xff1a; 使用线程 关于创建线程…