简单尝试:ChatGLM-6B + Stable diffusion管道连接

文章探讨了从工程角度出发,Stablediffusion的潜力主要由输入文字决定,并提到BLIP2作为LLM模型的扩展方法。文中提到了ChatGLM-6B的实验设置,以及使用huggingface的pipeline进行text_to_image验证的流程,还讨论了可能的微调策略和后续实验的可能性。
摘要由CSDN通过智能技术生成

核心思想是:

1. 抛去算法设计方面,仅从工程角度考虑的话,Stable diffusion的潜力挖掘几乎完全受输入文字影响。

2. BLIP2所代表的一类多模态模型走的路线是"扩展赋能LLM模型",思路简单清晰,收益明显。LLM + Stable diffusion的问题应该也不大。

3. ChatGLM-6B 和 Stable diffusion都有huggingface中的pipeline,做个实验也不困难。

4. 这里只验证了基本管道连接的效果,如果效果还不错,那将还会有很多可玩的东西,如从LLM的LoRA、P-Tuning微调方面入手。感兴趣的话留意之后更新。

操作:

1. 安装ChatGLM-6B:GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型

2. 赋能ChatGLM-6B模板

Q:

以下提示用于指导Al绘画模型创建图像。它们包括人物外观、背景、颜色和光影效果,以及图像的主题和风格等各种细节。这些提示的格式通常包括带权重的数字括号,用于指定某些细节的重要性或强调。例如,"(杰作:1.4)"表示作品的质量非常重要。以下是一些示例:

1. (8k, RAW photo, best quality, masterpiece:1.2),(realistic, photo-realistic:1.37), ultra-detailed, 1girl, cute, solo, beautiful detailed sky, detailed cafe, night, sitting, dating, (nose blush), (smile:1.1),(closed mouth), medium breasts, beautiful detailed eyes, (collared shirt:1.1), bowtie, pleated skirt, (short hair:1.2), floating hair, ((masterpiece)), ((best quality))

2. (masterpiece, finely detailed beautiful eyes: 1.2), ultra-detailed, illustration, 1 girl, blue hair black hair, japanese clothes, cherry blossoms, tori, street full of cherry blossoms, detailed background, realistic, volumetric light, sunbeam, light rays, sky, cloud,

3. highres, highest quallity, illustration, cinematic light, ultra detailed, detailed face, (detailed eyes, best quality, hyper detailed, masterpiece, (detailed face), blue hairlwhite hair, purple eyes, highest details, luminous eyes, medium breats, black halo, white clothes, backlighting, (midriff:1.4), light rays, (high contrast), (colorful)

仿照之前的提示,写一段描写如下要素的提示:开心 女孩

A:

(高质量,高分辨率,杰作:1.2),(真实感, photo-realistic:1.37),(超详细,女孩 开心,时尚元素,细节丰富,) ( collared shirt:1.1),  (卷发:1.2), (运动装:1.3), (唱:1.1), (跳舞:1.2), (高对比度,色彩丰富), ((杰作))

3. 安装diffusers并验证text_to_image的pipeline是否能跑通:GitHub - huggingface/diffusers: 🤗 Diffusers: State-of-the-art diffusion models for image and audio generation in PyTorch

4. 组装

ChatGLM

import os
import platform
import signal
from transformers import AutoTokenizer, AutoModel
import readline

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
model = model.eval()

os_name = platform.system()
clear_command = 'cls' if os_name == 'Windows' else 'clear'
stop_stream = False


def build_prompt(history):
    prompt = "欢迎使用 ChatGLM-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序"
    for query, response in history:
        prompt += f"\n\n用户:{query}"
        prompt += f"\n\nChatGLM-6B:{response}"
    return prompt


def signal_handler(signal, frame):
    global stop_stream
    stop_stream = True


def main():
    history = []
    global stop_stream
    print("欢迎使用 ChatGLM-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序")
    while True:
        query = input("\n用户:")
        if query.strip() == "stop":
            break
        if query.strip() == "clear":
            history = []
            os.system(clear_command)
            print("欢迎使用 ChatGLM-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序")
            continue
        count = 0
        for response, history in model.stream_chat(tokenizer, query, history=history):
            if stop_stream:
                stop_stream = False
                break
            else:
                count += 1
                if count % 8 == 0:
                    os.system(clear_command)
                    print(build_prompt(history), flush=True)
                    signal.signal(signal.SIGINT, signal_handler)
        os.system(clear_command)
        print(build_prompt(history), flush=True)


if __name__ == "__main__":
    main()

Stable diffusion

from diffusers import DiffusionPipeline

# 导入stable diffusion
generator = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
generator.to("cuda")

image = generator("ChatGLM_result_xxxx").images[0]
image.save("result_image.jpg")

5. 生成效果对比

仅输入:开心 女孩 

输入ChatGLM增强后结果

### 回答1: Q: 什么是“调色板:图像到图像扩散模型”? A: 调色板:图像到图像扩散模型是一种图像处理技术,它利用调色板(一组预定义的颜色)将一张图像转换成另一张图像。这种技术通常使用扩散模型,即在图像中扩散颜色以达到所需效果。这种方法可以应用于许多应用场景,例如图像增强和风格迁移。 ### 回答2: Palette是一个图像到图像扩散模型,它是一种生成模型,以像素为单位从输入图像中生成输出图像。使用深度学习技术,Palette能够自动生成与原始图像相似但不相同的图像,从而为艺术创意和设计领域提供了新的可能性。Palette基于卷积神经网络,其特点是细粒度的像素级平滑,使得生成的图像具有更高的真实感。 Palette的工作原理为,通过输入图像所包含的像素信息,生成一个低分辨率的初始图像,然后通过逐层的向上采样过程,不断提高分辨率并增加图像的细节信息。在这个过程中,Palette会对图像的颜色和纹理进行抽象和重新组合,从而产生出各种不同的图像效果。根据不同的训练数据和训练方式,Palette可以生成不同的风格和效果,比如艺术风格、手绘效果等。 Palette可以应用于许多领域,比如品牌设计、个人艺术创作、影视特效等。在品牌设计方面,Palette可以帮助品牌创造出独特的视觉效果,从而提高品牌认知度和影响力。在个人艺术创作方面,Palette为艺术家提供了全新的创作思路,他们可以使用Palette生成各种不同风格的图像,从而拓宽他们的创作领域。在影视特效方面,Palette可以帮助电影制作团队生成各种特殊效果的图像,从而使电影更为逼真和震撼。 总之,Palette是一个生成模型,其特点是在像素级别上对图像进行平滑和重组,从而生成各种不同风格和效果的图像。Palette的应用领域非常广泛,如品牌设计、艺术创作和影视特效等。未来,Palette将继续发展,为我们带来更多的惊喜和创新。 ### 回答3: palette: image-to-image diffusion models是一种基于图像扩散模型的颜色调色板生成方法。这种方法旨在从给定的目标图像中提取一组相似的颜色,以便在新的图像中使用。这些颜色可以是某个图像的主要色调,也可以是某个颜色调色板中的色彩。 palette: image-to-image diffusion models方法的基本思路是通过使用图像扩散模型,使得每个像素都可以“扩散”到其周围的像素上。这种扩散能够按照某种规则,将相邻的像素颜色进行平滑化处理,从而能够生成更加自然的颜色渐变效果。使用这种方法可以很快地生成一个适合于目标图像的颜色调色板。 palette: image-to-image diffusion models方法的优点在于可以自动地从目标图像中提取相似颜色,并根据这些颜色生成一个合适的颜色调色板。这种方法可以避免手动选择颜色,从而节省时间和精力。此外,使用图像扩散模型的方法可以使所生成的颜色调色板更加平滑,同时可以保持颜色之间的相关性,从而更加适合于图像处理任务。 需要注意的是,palette: image-to-image diffusion models方法是一种机器学习方法,需要使用具有相关背景知识的开发人员进行开发和调试。因此,在使用这种方法之前,需要对机器学习和图像处理等方面有一定的了解和掌握。同时,在实际应用中,也需要根据特定的需求对方法进行具体的调整和优化,以便获得最佳的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白 AI 日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值