首页 > 其他分享 >Diffusers代码学习:LCM 图生图

Diffusers代码学习:LCM 图生图

时间:2024-06-17 12:57:45浏览次数:9  
标签:图生 image torch Diffusers pipe unet scheduler LCM

要将LCM用于图像到图像,需要将支持的LCM模型的Checkpoint加载到[UNet2DConditionModel]中,并用[LCM scheduler]替换scheduler 程序。然后,可以像往常一样使用管道,并传递文本提示和初始图像,只需4个步骤即可生成图像。

# 以下代码为程序运行进行设置

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
mport torch
from diffusers import AutoPipelineForImage2Image, UNet2DConditionModel, LCMScheduler
from diffusers.utils import load_image

# 加载支持LCM模型的Checkpoint

unet = UNet2DConditionModel.from_pretrained(
"SimianLuo/LCM_Dreamshaper_v7",
subfolder="unet",
torch_dtype=torch.float16,
)

pipe = AutoPipelineForImage2Image.from_pretrained(
"Lykon/dreamshaper-7",
unet=unet,
torch_dtype=torch.float16,
variant="fp16",

).to("cuda")

# 并用[LCM scheduler]替换scheduler 程序

pipe.scheduler = LCMScheduler.from_config(pipe.scheduler.config)

# 加载原始图片

init_image = load_image(
"https://hf-mirror.com/datasets/huggingface/documentation-images/resolve/main/diffusers/img2img-init.png")
prompt = "Astronauts in a jungle, cold color palette, muted colors, detailed, 8k"
generator = torch.manual_seed(0)
image = pipe(
prompt,
image=init_image,
num_inference_steps=4,
guidance_scale=7.5,
strength=0.5,
generator=generator
).images[0]

image.show()

以下为原始图片

图片

以下为LCM图生图的输出

图片

标签:图生,image,torch,Diffusers,pipe,unet,scheduler,LCM
From: https://blog.csdn.net/duhaining1976/article/details/139740822

相关文章

  • 【第9章】“基础工作流”怎么用?(图生图/局部重绘/VAE/更多基础工作流)ComfyUI基础入门教
    ......
  • SQLCMD 密码中的 K8S 秘密用法始终为空
    我试图使用K8Ssecret密码连接到SQL服务器,但无论我使用什么语法或方法,密码总是空的。如果我硬编码密码,则一切正常。我还可以使用此命令在POD中打印密码,它还会返回存储在密码中的密码,因此POD可以实际访问密码。kubectlexec-itpodname--printenvMSS......
  • 如何用潜类别混合效应模型(Latent Class Mixed Model ,LCMM)分析老年痴呆年龄数据|附
    全文下载链接:http://tecdat.cn/?p=24647最近我们被客户要求撰写关于LCMM的研究报告,包括一些图形和统计输出。线性混合模型假设N个受试者的群体是同质的,并且在群体水平上由独特的曲线Xi(t)β描述。背景和定义相比之下,潜在类别混合模型在于假设人口是异质的,并且由G潜在类......
  • Diffusers代码学习: T2I Adapter
    T2IAdapter是一款轻量级适配器,用于控制文本到图像模型并为其提供更准确的结构指导。它通过学习文本到图像模型的内部知识与外部控制信号(如边缘检测或深度估计)之间的对齐来工作。T2IAdapter的设计很简单,条件被传递到四个特征提取块和三个下采样块。这使得针对不同的条件快速......
  • 最大公约数(gcd())和最小公倍数(lcm())的c语言和c++详细解法
    最大公约数(gcd())和最小公倍数(lcm())最大公约数:定义:两个或多个整数共有的约数中最大的一个。例如:整数12和18,他们的公约数有1、2、3、6,其中最大的公约数是6。c语言解法:辗转相除法和更相减损法1、辗转相除法:思路:先求解较大的数除以较小的数的余数,再用较小的数除以前......
  • Diffusers代码学习: IP-Adapter(续)
    但是IP-Adapter不仅可以通过文生图的方式,也可以通过图生图的方式生成目标图片,就无需使用提示词。只不过同上一篇所述,底层的逻辑和图生图是完全不同的。# 以下代码为程序运行进行设置,使用图生图的自动管道,importosos.environ["HF_ENDPOINT"]="https://hf-mirror.com" ......
  • 【VMware vSphere】安装配置Update Manager Download Service(UMDS)作为 vLCM 的下载存
    VMwarevSphereUpdateManagerDownloadService(UMDS)是vSphereLifecycleManager(vLCM)的可选模块。我在之前文章中提到这个功能,当vSphere环境能够连接Internet时,我们可以使用vLCM的在线Internet下载源获取修补程序,当vSphere环境不能连接Internet时,您可以在您的......
  • 【VMware vSphere】使用vSphere Lifecycle Manager(vLCM)管理独立主机和集群的生命周期
    vSphereLifecycleManager(vLCM)是vSphere7中引入的一项新功能,它提供了一种集中式、自动化和简单性的方式来管理和升级vSphere基础架构组件(如vCenter、ESXi主机和NSX)的生命周期。VMware早期用于vSphere升级和补丁管理的解决方案称为vSphereUpdateManager(VUM),这对管理员用......
  • Nikita and LCM题解
    题目大意给你一个数组$a$,令$t$为$a$的子序列且$t$中所有数的最小公倍数$\notina$求$t$数组中最多有多少个数。思路非常明显这是一道数学题,对于数组$a$我们首先从小到大拍一个序,然后我们可以求出$a$中所有数的最大公倍数,如果这个公倍数$\not=......
  • C. Nikita and LCM
    原题链接题解发现一串数字的lcm一定大于等于这一串数字的最大值,所以如果整个数组的lcm大于\(a_{max}\),直接输出n否则,注意这里的思维,否则,剩余数字组成的lcm一定小于等于\(a_{max}\)且是\(a_{max}\)的因子code#include<bits/stdc++.h>#definelllonglongusingnamesp......