媲美Midjourney-v6,Kolors最新文生图模型部署

Kolors模型是由快手团队开发的大型文本到图像生成模型,专门用于将文本描述转换成高质量的图像。

Kolors模型支持中英文双语输入,生成效果与Midjourney-v6相媲美,能够处理长达256个字符的文本输入,具备生成中英文文字的能力。

Kolors模型的技术优势在于其使用了基于U-Net架构的隐空间扩散模型,并引入了大语言模型进行文本表征,这使得它在处理复杂长文本方面表现出色。

Kolors模型在图像美感和质量上达到了国际领先水平,这得益于其两阶段的概念学习和美感提升的渐进训练策略以及针对高分辨率图像特性优化的全新加噪策略。

在评测方面,Kolors模型在智源FlagEval文生图模型评测榜单中主观综合评分全球第二,尤其在主观图像质量上表现突出,评分排名第一。

github项目地址:https://github.com/Kwai-Kolors/Kolors。

一、环境安装

1、python环境

建议安装python版本在3.8以上。

2、pip库安装

pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install pydantic==1.10.2 protobuf==3.20 tensorboard>=1.15.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

3、Kolors模型下载:

git lfs install

git clone https://huggingface.co/Kwai-Kolors/Kolors.git

二**、功能测试**

1、运行测试:

(1)python调用测试

复制代码
import torch
from kolors.pipelines.pipeline_stable_diffusion_xl_chatglm_256 import StableDiffusionXLPipeline
from kolors.models.modeling_chatglm import ChatGLMModel
from kolors.models.tokenization_chatglm import ChatGLMTokenizer
from diffusers import UNet2DConditionModel, AutoencoderKL
from diffusers import EulerDiscreteScheduler

# 定义模型权重路径
ckpt_dir = 'Kolors'

def infer(prompt):
    # 加载文本编码器模型
    text_encoder = ChatGLMModel.from_pretrained(
        f'{ckpt_dir}/text_encoder',
        torch_dtype=torch.float16
    ).half()
    
    # 加载分词器
    tokenizer = ChatGLMTokenizer.from_pretrained(f'{ckpt_dir}/text_encoder')
    
    # 加载图片解码器 VAE
    vae = AutoencoderKL.from_pretrained(f"{ckpt_dir}/vae", revision=None).half()
    
    # 加载调度器用于生成步骤
    scheduler = EulerDiscreteScheduler.from_pretrained(f"{ckpt_dir}/scheduler")
    
    # 加载 U-Net 模型
    unet = UNet2DConditionModel.from_pretrained(f"{ckpt_dir}/unet", revision=None).half()
    
    # 设置图像生成管道
    pipe = StableDiffusionXLPipeline(
        vae=vae,
        text_encoder=text_encoder,
        tokenizer=tokenizer,
        unet=unet,
        scheduler=scheduler,
        force_zeros_for_empty_prompt=False
    )
    
    # 将管道模型移至 GPU
    pipe = pipe.to("cuda")
    
    # 启用模型 CPU 卸载功能
    pipe.enable_model_cpu_offload()
    
    # 生成图像
    image = pipe(
        prompt=prompt,
        height=1024,                # 图像高度
        width=1024,                 # 图像宽度
        num_inference_steps=50,     # 推理步数
        guidance_scale=5.0,         # 指导比例
        num_images_per_prompt=1,    # 每个提示生成的图像数量
        generator=torch.Generator(pipe.device).manual_seed(66)  # 随机种子
    ).images[0]
    
    # 保存生成的图像
    output_path = 'scripts/outputs/sample_test.jpg'
    image.save(output_path)
    print(f"图像已保存至:{output_path}")

if __name__ == '__main__':
    # 定义生成图像的提示
    prompt = '一张瓢虫的照片,微距,变焦,高质量,电影,拿着一个牌子,写着"good"'
    infer(prompt)

(2)web端测试

未完......

更多详细的内容欢迎关注:杰哥新技术

相关推荐
waterfeeling17 小时前
用 Context7 做一次点云配准的调研—测试—报告闭环:鲁棒 ICP
人工智能
Data-Miner20 小时前
面对 AI 大模型智能涌现,如何从技术层面保护好隐私与数据安全?
大数据·人工智能
hpoenixf21 小时前
当 AI 开始谈“买什么”,研究助手离投顾和交易还有多远?
人工智能
大模型真好玩21 小时前
如何让视频模型对你言听计从?结构化提示词助你生成电影级画面
人工智能·agent·deepseek
zhang1338308907521 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
特立独行的猫a21 小时前
会说确认叫车才下单-启元机器人官方滴滴打车技能源码详解
人工智能·机器人·技能·启元机器人
老金带你玩AI21 小时前
GPT-6.1 Terra上线:更便宜了,干活到底怎么样?
人工智能
会议咨询1 天前
2027年电力电子、人工智能与大数据国际会议(PEABD 2027)
大数据·人工智能·电力电子
Jsundoku1 天前
第五章 深度学习 -- 卷积神经网络
人工智能·深度学习·cnn
水如烟1 天前
孤能子视角:SEP《人工智能的认识论》EIS读法·理解——理解幻觉与解压缩幻觉:同一缺口,两份报告
人工智能