★★★ 本文源自AlStudio社区精品项目,【点击此处】查看更多精品内容 >>>

【PaddlePaddle Hackathon 第四期】No.105 作品提交:基于PaddleNLP PPDiffusers 训练 AIGC 趣味模型

【赛题链接】:https://github.com/PaddlePaddle/Paddle/issues/50631#task105

【PaddlePaddle Hackathon 第四期 任务总览】:https://github.com/PaddlePaddle/Paddle/issues/50629

【队名】:大江向东我向西画画队
【模型简介】:美食、中国美食、顶尖美食
【模型链接】: https://huggingface.co/livingbody/Chinese_Food
【AI Studio 项目地址】:https://aistudio.baidu.com/aistudio/projectdetail/5695749
【AI Studio 应用中心】:AIGC中国美食

一、创意简介&效果展示

  • 中国美食与花
  • a photo of Chinese cuisine with flowers


二、训练代码

1.paddlenlp安装

# 请运行这里安装所需要的依赖环境!!
!pip install "paddlenlp>=2.5.2" safetensors "ppdiffusers>=0.11.1" --user
from IPython.display import clear_output
clear_output() # 清理很长的内容

2. huggingface登陆

!git config --global credential.helper store
from huggingface_hub import login
login()

3. 解压缩数据集

# 解压缩数据集
!unzip -qoa data/data198584/food.zip -d food

4. 训练

!python train_dreambooth_lora.py \
  --pretrained_model_name_or_path="runwayml/stable-diffusion-v1-5"  \
  --instance_data_dir="./food" \
  --output_dir="lora_outputs" \
  --instance_prompt="a photo of Chinese cuisine" \
  --resolution=512 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=1 \
  --checkpointing_steps=100 \
  --learning_rate=1e-4 \
  --lr_scheduler="constant" \
  --lr_warmup_steps=0 \
  --max_train_steps=500 \
  --seed=0 \
  --lora_rank=4 \
  --push_to_hub=False \
  --validation_prompt="a photo of Chinese cuisine   with flowers" \
  --validation_steps=100 \
  --num_validation_images=4

5. 上传模型

from utils import upload_lora_folder
upload_dir                    = "lora_outputs"                   # 我们需要上传的文件夹目录
repo_name                     = "Chinese_Food"                  # 我们需要上传的repo名称
pretrained_model_name_or_path = "runwayml/stable-diffusion-v1-5" # 训练该模型所使用的基础模型
prompt                        = "a photo of Chinese cuisine  with flowers" # 搭配该权重需要使用的Prompt文本

upload_lora_folder(
    upload_dir=upload_dir,
    repo_name=repo_name,
    pretrained_model_name_or_path=pretrained_model_name_or_path,
    prompt=prompt, 
)

https://huggingface.co/livingbody/Chinese_Food/tree/main

三、Gradio在线GPU部署

1.写代码

文件名为:*.gradio.py

# 1.安装依赖
import os
os.system("pip install paddlenlp==2.5.2")
os.system("pip install ppdiffusers==0.11.1")

# 2.导入库文件
import gradio as gr
from ppdiffusers import DiffusionPipeline, DPMSolverMultistepScheduler
import paddle

# 3.功能函数
def quickstart(prompt):
    image = pipe(prompt).images[0]
    return image

# 4.样式设计
with gr.Blocks() as demo:
    gr.Markdown("# 用LoRA 和 DreamBooth画出你眼中的 中国美食吧")
    gr.Image("image/500.png")
    gr.Markdown("## promot 为: Chinese cuisine ,即中国美食的意思。")
    greet_btn = gr.Button("开始生成") 
    input_text=gr.Textbox(label="输入你想要描述的中国美食")   
    # 5.接口调用
    greet_btn.click(quickstart, inputs=input_text, outputs=gr.Image())

# 6.加载模型
pipe = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe.unet.load_attn_procs("lora_outputs/", from_hf_hub=True)

# 7.启动
demo.launch()

2.点击部署

此处要等待很久,下载模型。。。。。。

3.界面


4.效果

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐