当前位置:   article > 正文

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

媲美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调用测试

  1. import torch
  2. from kolors.pipelines.pipeline_stable_diffusion_xl_chatglm_256 import StableDiffusionXLPipeline
  3. from kolors.models.modeling_chatglm import ChatGLMModel
  4. from kolors.models.tokenization_chatglm import ChatGLMTokenizer
  5. from diffusers import UNet2DConditionModel, AutoencoderKL
  6. from diffusers import EulerDiscreteScheduler
  7. # 定义模型权重路径
  8. ckpt_dir = 'Kolors'
  9. def infer(prompt):
  10. # 加载文本编码器模型
  11. text_encoder = ChatGLMModel.from_pretrained(
  12. f'{ckpt_dir}/text_encoder',
  13. torch_dtype=torch.float16
  14. ).half()
  15. # 加载分词器
  16. tokenizer = ChatGLMTokenizer.from_pretrained(f'{ckpt_dir}/text_encoder')
  17. # 加载图片解码器 VAE
  18. vae = AutoencoderKL.from_pretrained(f"{ckpt_dir}/vae", revision=None).half()
  19. # 加载调度器用于生成步骤
  20. scheduler = EulerDiscreteScheduler.from_pretrained(f"{ckpt_dir}/scheduler")
  21. # 加载 U-Net 模型
  22. unet = UNet2DConditionModel.from_pretrained(f"{ckpt_dir}/unet", revision=None).half()
  23. # 设置图像生成管道
  24. pipe = StableDiffusionXLPipeline(
  25. vae=vae,
  26. text_encoder=text_encoder,
  27. tokenizer=tokenizer,
  28. unet=unet,
  29. scheduler=scheduler,
  30. force_zeros_for_empty_prompt=False
  31. )
  32. # 将管道模型移至 GPU
  33. pipe = pipe.to("cuda")
  34. # 启用模型 CPU 卸载功能
  35. pipe.enable_model_cpu_offload()
  36. # 生成图像
  37. image = pipe(
  38. prompt=prompt,
  39. height=1024, # 图像高度
  40. width=1024, # 图像宽度
  41. num_inference_steps=50, # 推理步数
  42. guidance_scale=5.0, # 指导比例
  43. num_images_per_prompt=1, # 每个提示生成的图像数量
  44. generator=torch.Generator(pipe.device).manual_seed(66) # 随机种子
  45. ).images[0]
  46. # 保存生成的图像
  47. output_path = 'scripts/outputs/sample_test.jpg'
  48. image.save(output_path)
  49. print(f"图像已保存至:{output_path}")
  50. if __name__ == '__main__':
  51. # 定义生成图像的提示
  52. prompt = '一张瓢虫的照片,微距,变焦,高质量,电影,拿着一个牌子,写着"good"'
  53. infer(prompt)

(2)web端测试

未完......

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/879309
推荐阅读
相关标签
  

闽ICP备14008679号