Datawhale AI夏令营第四期AIGC方向Task1学习笔记

文生图基础知识

1.提示词

对模型生成图片的内容、风格进行约束,从而获得更符合需求的图片,在Baseline中,提示词分为正向提示词和负向提示词,如下所示:

​
prompt="二次元,日系动漫,演唱会的观众席,人山人海,一个紫色短发小女孩穿着粉色吊带漏肩连衣裙坐在演唱会的观众席,舞台上衣着华丽的歌星们在唱歌",
negative_prompt="丑陋、变形、嘈杂、模糊、低对比度",

​

正向描述词:你想要生成的图片应该包含的内容。

反向提示词:你不希望生成的图片的内容。

2.LoRA介绍

LoRA是一种轻量级的微调方法,主要用于自然语言处理和计算机视觉等领域,LoRA不是指单一的具体模型,而是指一类通过特定微调技术应用于基础模型的扩展应用,这次学习的是文生图,所以使用的是Stable Diffusion中的LoRA模型。

根据对Baseline代码的分析,使用LoRA方法的一些步骤如下:

1.设置LoRA参数,如:lora_rank, lora_alpha, lora_path等,并选定目标model。

def load_lora(model, lora_rank, lora_alpha, lora_path):
    lora_config = LoraConfig(
        r=lora_rank,
        lora_alpha=lora_alpha,
        init_lora_weights="gaussian",
        target_modules=["to_q", "to_k", "to_v", "to_out"],
    )
    model = inject_adapter_in_model(lora_config, model)
    state_dict = torch.load(lora_path, map_location="cpu")
    model.load_state_dict(state_dict, strict=False)
    return model

2.加载目标model。

model_manager = ModelManager(torch_dtype=torch.float16, device="cuda",
                             file_path_list=[
                                 "models/kolors/Kolors/text_encoder",
                                 "models/kolors/Kolors/unet/diffusion_pytorch_model.safetensors",
                                 "models/kolors/Kolors/vae/diffusion_pytorch_model.safetensors"
                             ])
pipe = SDXLImagePipeline.from_model_manager(model_manager)

3.将LoRA应用到选定的模型中。

pipe.unet = load_lora(
    pipe.unet,
    lora_rank=16, # This parameter should be consistent with that in your training script.
    lora_alpha=2.0, # lora_alpha can control the weight of LoRA.
    lora_path="models/lightning_logs/version_0/checkpoints/epoch=0-step=500.ckpt"
)

3.ComfyUI

        ComfyUI 是一个专为使用 Stable Diffusion 图像生成模型设计的用户界面,通过一个可以直观操作的前段界面,让用户无需编程即可轻松生成所需图像。

4.ControlNet(参考图控制)

ControlNet 是一种技术组件,主要用于生成图像时提供额外的控制输入,以提高生成图像的质量和细节,如姿势关键点、分割图、深度图、颜色等。

Baseline跑通

        第一步,在浏览器中进入魔搭社区注册账号,在“我的Notebook”页面创建PAI实例成功后可打开终端。

        第二步,在终端输入

git lfs install
git clone https://www.modelscope.cn/datasets/maochase/kolors.git

 下载Baseline文件随后开始运行

        第三步,代码文件开头为安装Data-Juicer 和 DiffSynth-Studio工具

!pip install simple-aesthetics-predictor

!pip install -v -e data-juicer

!pip uninstall pytorch-lightning -y
!pip install peft lightning pandas torchvision

!pip install -e DiffSynth-Studio

运行完上述代码块后重启kernel ,操作如下:

        第四步,根据自己想法给出提示词。

        第五步,运行全部代码,等待模型生成图片,可以在侧边文件夹栏打开不同图片,也可在代码末尾看到所有生成图片。

我的提示词和运行结果: 

torch.manual_seed(0)
image = pipe(
    prompt="水墨风,一个黑色短发少女,在公园石凳上坐着,双手托着腮,很无聊,全身,粉色连衣裙",
    negative_prompt="丑陋、变形、嘈杂、模糊、低对比度",
    cfg_scale=4,
    num_inference_steps=50, height=1024, width=1024,
)
image.save("1.jpg")

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值