SSD-1B:Segmind的加速稳定扩散模型

news2024/11/30 2:27:01

Segmind 稳定扩散模型 (SSD-1B) 是稳定扩散 XL (SDXL) 缩小 50% 的精简版本,可提供 60% 的加速,同时保持高质量的文本到图像生成功能。 它已经过各种数据集的训练,包括 Grit 和 Midjourney scrap 数据,以增强其根据文本提示创建各种视觉内容的能力。

SSD-1B模型采用知识蒸馏策略,连续利用多个专家模型(包括 SDXL、ZavyChromaXL 和 JuggernautXL)的教学,结合它们的优势并产生令人印象深刻的视觉输出。

图像比较(SDXL-1.0 与 SSD-1B):

在这里插入图片描述

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D场景编辑器

1、SSD-1B使用方法

该模型可以通过 🧨 Diffusers 库使用。

确保通过运行从源码安装Diffusers:

pip install git+https://github.com/huggingface/diffusers

另外,请安装transformers、safetensors和accelerate:

pip install transformers accelerate safetensors

要使用该模型,你可以运行以下命令:

from diffusers import StableDiffusionXLPipeline
import torch
pipe = StableDiffusionXLPipeline.from_pretrained("segmind/SSD-1B", torch_dtype=torch.float16, use_safetensors=True, variant="fp16")
pipe.to("cuda")
# if using torch < 2.0
# pipe.enable_xformers_memory_efficient_attention()
prompt = "An astronaut riding a green horse" # Your prompt here
neg_prompt = "ugly, blurry, poor quality" # Negative prompt here
image = pipe(prompt=prompt, negative_prompt=neg_prompt).images[0]

SSD-1B模型现在应该可以在 ComfyUI 中使用。

请务必使用负面提示和 9.0 左右的 CFG 以获得最佳质量!

2、SSD-1B模型说明

  • 开发者:Segmind
  • 开发商:Yatharth Gupta 和 Vishnu Jaddipal。
  • 模型类型:基于扩散的文本到图像生成模型
  • 许可证:Apache 2.0
  • 蒸馏自 stableai/stable-diffusion-xl-base-1.0

SSD-1B的主要特性如下:

  • 文本到图像生成:该模型擅长根据文本提示生成图像,从而实现广泛的创意应用。
  • 精炼加速:该模型专为提高效率而设计,可提供 60% 的加速,使其成为实时应用程序和需要快速生成图像的场景的实用选择。
  • 多样化的训练数据:模型经过多样化的数据集训练,可以处理各种文本提示并有效生成相应的图像。
  • 知识蒸馏:通过从多个专家模型中蒸馏知识,Segmind 稳定扩散模型结合了它们的优点并最大限度地减少了它们的局限性,从而提高了性能。

3、SSD-1B模型架构

SSD-1B 模型是 1.3B 参数模型,从基本 SDXL 模型中删除了多个层:
在这里插入图片描述

4、多分辨率支持

在这里插入图片描述

SSD-1B可支持以下输出分辨率。

  • 1024 x 1024(1:1 正方形)
  • 1152 x 896 (9:7)
  • 896 x 1152 (7:9)
  • 1216 x 832 (19:13)
  • 832 x 1216 (13:19)
  • 1344 x 768(7:4 水平)
  • 768 x 1344(4:7 垂直)
  • 1536 x 640(12:5 水平)
  • 640 x 1536(5:12 垂直)

5、SSD-1B速度比较

我们观察到 SSD-1B 比 Base SDXL 型号快 60%。 以下是 A100 80GB 的比较。
在这里插入图片描述

以下是 RTX 4090 GPU 的加速指标:

在这里插入图片描述

6、SSD-1B的潜在用途

SSD-1B 模型不适合创建人物、事件或现实世界信息的事实或准确表示。 它不适用于需要高精度和准确度的任务。

直接使用。Segmind 稳定扩散模型适用于各个领域的研究和实际应用,包括:

  • 艺术与设计:它可用于生成艺术品、设计和其他创意内容,提供灵感并增强创意过程。
  • 教育:该模型可应用于教育工具,以创建用于教学和学习目的的视觉内容。
  • 研究:研究人员可以使用该模型来探索生成模型,评估其性能,并突破文本到图像生成的界限。
  • 安全内容生成:它提供了一种安全且受控的内容生成方式,降低了有害或不当输出的风险。
  • 偏差和局限性分析:研究人员和开发人员可以使用该模型来探究其局限性和偏差,从而有助于更好地理解生成模型的行为。

下游使用。Segmind 稳定扩散模型还可以直接与 🧨 Diffusers 库训练脚本一起使用进行进一步训练,包括:

  • 微调:
export MODEL_NAME="segmind/SSD-1B"
export VAE_NAME="madebyollin/sdxl-vae-fp16-fix"
export DATASET_NAME="lambdalabs/pokemon-blip-captions"

accelerate launch train_text_to_image_lora_sdxl.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --pretrained_vae_model_name_or_path=$VAE_NAME \
  --dataset_name=$DATASET_NAME --caption_column="text" \
  --resolution=1024 --random_flip \
  --train_batch_size=1 \
  --num_train_epochs=2 --checkpointing_steps=500 \
  --learning_rate=1e-04 --lr_scheduler="constant" --lr_warmup_steps=0 \
  --mixed_precision="fp16" \
  --seed=42 \
  --output_dir="sd-pokemon-model-lora-sdxl" \
  --validation_prompt="cute dragon creature" --report_to="wandb" \
  --push_to_hub
  • LoRA:
export MODEL_NAME="segmind/SSD-1B"
export VAE_NAME="madebyollin/sdxl-vae-fp16-fix"
export DATASET_NAME="lambdalabs/pokemon-blip-captions"

accelerate launch train_text_to_image_sdxl.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --pretrained_vae_model_name_or_path=$VAE_NAME \
  --dataset_name=$DATASET_NAME \
  --enable_xformers_memory_efficient_attention \
  --resolution=512 --center_crop --random_flip \
  --proportion_empty_prompts=0.2 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 --gradient_checkpointing \
  --max_train_steps=10000 \
  --use_8bit_adam \
  --learning_rate=1e-06 --lr_scheduler="constant" --lr_warmup_steps=0 \
  --mixed_precision="fp16" \
  --report_to="wandb" \
  --validation_prompt="a cute Sundar Pichai creature" --validation_epochs 5 \
  --checkpointing_steps=5000 \
  --output_dir="sdxl-pokemon-model" \
  --push_to_hub
  • Dreambooth LoRA:
export MODEL_NAME="segmind/SSD-1B"
export INSTANCE_DIR="dog"
export OUTPUT_DIR="lora-trained-xl"
export VAE_PATH="madebyollin/sdxl-vae-fp16-fix"

accelerate launch train_dreambooth_lora_sdxl.py \
  --pretrained_model_name_or_path=$MODEL_NAME  \
  --instance_data_dir=$INSTANCE_DIR \
  --pretrained_vae_model_name_or_path=$VAE_PATH \
  --output_dir=$OUTPUT_DIR \
  --mixed_precision="fp16" \
  --instance_prompt="a photo of sks dog" \
  --resolution=1024 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 \
  --learning_rate=1e-5 \
  --report_to="wandb" \
  --lr_scheduler="constant" \
  --lr_warmup_steps=0 \
  --max_train_steps=500 \
  --validation_prompt="A photo of sks dog in a bucket" \
  --validation_epochs=25 \
  --seed="0" \
  --push_to_hub

原文链接:Segmind SSD-1B — BimAnt

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

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

相关文章

Find My卡片|苹果Find My技术与卡片结合,智能防丢,全球定位

钱包是许多人正常生活必备的物品&#xff0c;如果丢失钱包&#xff0c;不仅是钱的损失&#xff0c;还因为丢失了证件和银行卡&#xff0c;导致我们需要话费大量时间去补办&#xff0c;造成生活的不便。如今防丢卡片的出现将减少这类问题的发生。 在智能化加持下&#xff0c;防丢…

Python库Requests的爬虫程序爬取视频通用模版

这是一个使用Python库Requests的爬虫程序&#xff0c;用于爬取网上的视频。代码必须使用以下代码&#xff1a;爬虫IP主机为duoip&#xff0c;爬虫IP端口为8000。 import requests proxy_host "duoip" proxy_port 8000 url "目标网站" headers {"U…

BI数据可视化报表开发教程,手把手教你做报表

在奥威BI数据可视化平台上&#xff0c;BI数据可视化报表有两种做法。一种是使用报表模板&#xff0c;极速开发报表&#xff1b;一种是从零开始一步一步&#xff0c;个性化开发报表。这两种报表开发在效率上会拉开一定距离&#xff0c;操作繁琐程度不一&#xff0c;但总体来看都…

DG双击后没有反应的解决办法

在Win 97 x64 上安装 DG 相关文件后使用正常&#xff0c; 但是换了一台电脑&#xff0c;注册运行使用后一次之后&#xff0c;再双击 图标没有反应&#xff0c;现将处理方法介绍如下&#xff1a; 【方法1&#xff1a;更名法】 找到“当前用户”目录&#xff0c;可以看到系统隐…

功率放大器功能及用途介绍

功率放大器是一种用于将输入信号的电压放大到更高水平的电子设备。它在各个领域中发挥着重要作用&#xff0c;包括音频、通信、测量和控制等应用。下面Aigtek安泰电子将详细介绍功率放大器的功能及其主要用途。 图&#xff1a;ATA-3000系列功率放大器 功率放大器的功能介绍&…

产品运营是做什么的?新手运营必读篇

产品运营是产品取得成功&#xff0c;实现产品的商业目标的重要支撑。产品运营岗位的专业能力要求庞杂&#xff0c;在岗或准备入坑人员应该如何巩固自身的知识/技能树&#xff1f; 本文将介绍产品运营相关的知识&#xff0c;希望能帮助你找到提升竞争力的思路&#xff01; 产品…

在分布式系统中实现数据一致性:发件箱模式

在分布式系统的错综复杂的编织中&#xff0c;尤其是在微服务架构内&#xff0c;可靠的消息传递和数据一致性的挑战无处不在且要求极高。发件箱模式&#xff0c;常被引用于微服务的独特领域内&#xff0c;从一个关键场景中浮现出来&#xff0c;确保本地数据库事务的原子性和发布…

vue+canvas实现横跨整个页面的动态的波浪线(贝塞尔曲线)

本来写这个特效 我打算用css实现的,结果是一波三折,我太难了,最终没能用css实现,转战了canvas来实现。来吧先看效果图 当然这个图的波浪高度、频率、位置、速度都是可调的,请根据自己的需求调整,如果你讲波浪什么的调大一下 还有有摆动的效果哦。 以下是完整代码 <…

SAP 获取GOS附件清单及URL数据方法

很久没有更新了&#xff0c;断更了快两个月了&#xff0c;最近准备软考考试&#xff0c;刚考完不知道这次能不能通过 回归正题 SAP中很多业务中都是可以上传附件或者是上传URL的路径的&#xff0c;上传附件长时间会占用SAP的空间&#xff0c;使用GOS大多数都是采用上传URL的方式…

【好书推荐】AI时代架构师修炼之道:ChatGPT让架构师插上翅膀

目录 前言 ChatGPT对架构师工作的帮助 快速理解和分析需求 提供代码建议和解决方案 辅助系统设计和优化 提高团队协作效率 如何使用ChatGPT提高架构师工作效率 了解用户需求和分析问题 编码实践和问题解决 系统设计和优化建议 团队协作和沟通效率提升 知识管理和文…

SOME/IP 协议介绍(一)

1. 引言和功能概述 本文档规定了可扩展面向服务基于IP的中间件&#xff08;SOME/IP&#xff09;——一种用于汽车/嵌入式RPC机制和底层序列化/传输格式的示例&#xff0c;作为由RTE调用的序列化器。 唯一有效的缩写是SOME/IP。其他缩写&#xff08;例如Some/IP&#xff09;是…

echarts有4个y轴,点击图例依次按顺序显示和隐藏

代码&#xff1a; <template><div><el-row class"actually" style"padding-top:10px;height: 420px;"><div style"font-size: 14px; font-weight: bold; margin: 0 10px 0 5px; display: inline-block">Cloud Usage<…

构建生成式AI应用:关键因素是什么?

原创 | 文 BFT机器人 生成式AI是一种基于机器学习和深度学习的技术&#xff0c;通过训练模型来生成新的内容&#xff0c;它可以通过学习现有的数据&#xff0c;理解其规律和特征&#xff0c;并生成与之类似的新内容&#xff0c;生成式AI在多个领域具有广泛的应用潜力。然而&am…

vue3+element Plus实现弹框的拖拽、可点击底层页面功能

1、template部分 <el-dialog:modal"false"v-model"dialogVisible"title""width"30%"draggable:close-on-click-modal"false"class"message-dialog"> </el-dialog> 必须加的属性 modal:是否去掉遮罩层…

【踩坑及思考】浏览器存储 cookie 最大值超过 4kb,或 http 头 cookie 超过限制值

背景 本地生产环境&#xff1a;超过最大值 cookie token 不存储&#xff1b;客户生产环境&#xff1a;打开系统空白&#xff0c;且控制台报 http 400 错误&#xff1b; 出现了两种现象 现象一&#xff1a;浏览器对大于 4kb 的 cookie 值不存储 导致用户名密码登录&#xff…

kill-port,跨平台解决端口占用问题

在日常开发中&#xff0c;端口占用问题一直是令人头疼的难题。为了更高效地管理端口资源&#xff0c;开发者们经常需要一种快速而可靠的解决方案。在这方面&#xff0c;kill-port 的出现为我们提供了一种强大而便捷的工具。本篇博客将深入介绍 kill-port 解决端口占用问题的优势…

Marp: 将 Markdown 变为 PPT 式样的 VScode 插件

样例代码&#xff1a; --- marp: true size: 16:9 theme: default header: footer: --- <!-- _footer: Jia ming<br>Gansu University of Political Science and Law --> <!-- _backgroundColor: lightskyblue --> ## <!-- fit --> 笔记检验概述>…

Django音乐电台推荐系统 毕业设计-附源码 00750

摘要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#xff0c;应用软件的工作规…

c++的vector按值删除元素

代码 #include<iostream> #include<vector> using namespace std;void testDelete(vector<int>& vec, const bool delete45, const bool delete_less7) {if (delete45 true) {vec.erase(std::remove(vec.begin(), vec.end(), 45), vec.end());}if (del…

python加上ffmpeg实现音频分割

前言: 这是一个系列的文章,主要是使用python加上ffmpeg来对音视频文件进行处理,包括音频播放、音频格式转换、音频文件分割、视频播放等。 系列文章链接: 链接1: python使用ffmpeg来制作音频格式转换工具(优化版) 链接2:<Python>PyQt5+ffmpeg,简单视频播放器的编写(…