NitroFusion:文本到图像生成的革命

欢迎来到 NitroFusion 的世界,它是由 ChenDY 开发的一种开创性文本到图像模型!

在这里插入图片描述

什么是 NitroFusion?

NitroFusion 是一种尖端的文本到图像模型,建立在广受欢迎的 Diffusers 库之上。它利用稳定扩散和 sdxl 技术以及对抗扩散蒸馏的强大功能,创建出令人惊叹的逼真图像。该模型基于研究论文 “arxiv: 2412.02030”,该论文探讨了文本到图像生成的最新进展。

主要功能:

  • 文本到图像的生成:NitroFusion 擅长将文字提示转换成具有视觉吸引力的图像,是创意专业人员和爱好者的理想工具。
  • Stable Diffusion and SDXL: 该模型利用这些先进技术确保稳定和高质量的图像生成,从而产生令人印象深刻的视觉输出。
  • 逆向扩散蒸馏:这项技术进一步提高了模型的性能,使其能够生成具有超凡细节和清晰度的图像。

入门:

要开始使用 NitroFusion,只需访问 Hugging Face 网站并导航到 ChenDY 的 NitroFusion 资源库。您可以浏览模型卡、文件和社区讨论,了解有关该项目的更多信息。该模型可随时用于部署,让您可以进行实验并创建自己的文本到图像杰作。

from diffusers import LCMScheduler
class TimestepShiftLCMScheduler(LCMScheduler):
    def __init__(self, *args, shifted_timestep=250, **kwargs):
        super().__init__(*args, **kwargs)
        self.register_to_config(shifted_timestep=shifted_timestep)
    def set_timesteps(self, *args, **kwargs):
        super().set_timesteps(*args, **kwargs)
        self.origin_timesteps = self.timesteps.clone()
        self.shifted_timesteps = (self.timesteps * self.config.shifted_timestep / self.config.num_train_timesteps).long()
        self.timesteps = self.shifted_timesteps
    def step(self, model_output, timestep, sample, generator=None, return_dict=True):
        if self.step_index is None:
            self._init_step_index(timestep)
        self.timesteps = self.origin_timesteps
        output = super().step(model_output, timestep, sample, generator, return_dict)
        self.timesteps = self.shifted_timesteps
        return output

import torch
from diffusers import DiffusionPipeline, UNet2DConditionModel
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
# Load model.
base_model_id = "stabilityai/stable-diffusion-xl-base-1.0"
repo = "ChenDY/NitroFusion"
# NitroSD-Realism
ckpt = "nitrosd-realism_unet.safetensors"
unet = UNet2DConditionModel.from_config(base_model_id, subfolder="unet").to("cuda", torch.float16)
unet.load_state_dict(load_file(hf_hub_download(repo, ckpt), device="cuda"))
scheduler = TimestepShiftLCMScheduler.from_pretrained(base_model_id, subfolder="scheduler", shifted_timestep=250)
scheduler.config.original_inference_steps = 4
# # NitroSD-Vibrant
# ckpt = "nitrosd-vibrant_unet.safetensors"
# unet = UNet2DConditionModel.from_config(base_model_id, subfolder="unet").to("cuda", torch.float16)
# unet.load_state_dict(load_file(hf_hub_download(repo, ckpt), device="cuda"))
# scheduler = TimestepShiftLCMScheduler.from_pretrained(base_model_id, subfolder="scheduler", shifted_timestep=500)
# scheduler.config.original_inference_steps = 4
pipe = DiffusionPipeline.from_pretrained(
    base_model_id,
    unet=unet,
    scheduler=scheduler,
    torch_dtype=torch.float16,
    variant="fp16",
).to("cuda")
prompt = "a photo of a cat"
image = pipe(
    prompt=prompt,
    num_inference_steps=1,  # NotroSD-Realism and -Vibrant both support 1 - 4 inference steps.
    guidance_scale=0,
).images[0]

结论:

ChenDY的NitroFusion是一个非凡的文本到图像模型,它突破了人工智能生成艺术的界限。凭借其先进的技术和社区支持,它为艺术家、设计师和开发人员提供了一个独特而强大的工具。敬请期待更多激动人心的更新,加入 NitroFusion 社区,成为这场创意革命的一份子!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值