当前位置: 首页 > news >正文

媲美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')# 加载图片解码器 VAEvae = 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)# 将管道模型移至 GPUpipe = 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端测试

未完......

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

http://www.lryc.cn/news/404242.html

相关文章:

  • 深度学习程序环境配置
  • 【STM32 HAL库】全双工I2S+双缓冲DMA的使用
  • 【Spring Boot】网页五子棋项目中遇到的困难及解决方法
  • 营销策划方案模板
  • Python入门基础教程(非常详细)
  • LeetCode 常见题型汇总
  • el-select选择器修改背景颜色
  • Shell程序设计
  • PyQT6---环境搭建
  • whisper-api语音识别语音翻译高性能兼容openai接口协议的开源项目
  • 面试题:Java中堆内存和栈内存的区别,缓存数据是把数据放到哪里
  • 【开源库学习】libodb库学习(一)
  • Java中SPI机制原理解析
  • 数学建模~~~SPSS相关和回归分析
  • 【Android】常用基础布局
  • 服务攻防-中间件安全(漏洞复现)
  • 【SD】深入理解Stable Diffusion与ComfyUI的使用
  • Linux 12:多线程2
  • Android RSA 加解密
  • 类与对象-多态-案例3-电脑组装具体实现
  • try-with-resources 语句的用途和优点有哪些,它如何自动管理资源?
  • GraphRAG参数与使用步骤 | 基于GPT-4o-mini实现更便宜的知识图谱RAG
  • /秋招突击——7/21——复习{堆——数组中的第K大元素}——新作{回溯——全排列、子集、电话号码的字母组合、组合总和、括号生成}
  • matlab 异常值检测与处理——Robust Z-score法
  • Ubuntu 20安装JDK17和MySQL8.0
  • DC-1靶场打靶第一次!!!!冲冲冲!
  • 【LeetCode】填充每个节点的下一个右侧节点指针 II
  • mac无法清空废纸篓怎么办 mac废纸篓清空了如何找回 cleanmymac误删文件怎么恢复
  • 树上启发加点分治思想
  • 【iOS】类对象的结构分析