30行代码拥有个性stable-diffusion文生图在线GPU【免费】部署的应用

简介: 30行代码拥有个性stable-diffusion文生图在线GPU【免费】部署的应用

一、摘要


  • 老鸟们有信用卡注册hugfacede的就不用看我的了。
  • 本文利用aistudio的PaddleNLP,利用网络爬取的少量中国美食图片进行用LoRA模型训练。
  • 另外使用 AI Studio 应用中心进行模型部署,利用GPU资源进行推理展示!

地址:aistudio.baidu.com/aistudio/pr…


二、模型训练


【赛题链接】:github.com/PaddlePaddl…

【PaddlePaddle Hackathon 第四期 任务总览】:github.com/PaddlePaddl…

【队名】:大江向东我向西画画队

【模型简介】:美食、中国美食、顶尖美食

【模型链接】: huggingface.co/livingbody/…

【AI Studio 项目地址】:aistudio.baidu.com/aistudio/pr…【AI Studio 应用中心】:AIGC中国美食


1.创意简介&效果展示


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

image.pngimage.png


2.训练代码


2.1paddlenlp安装


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


2.2 huggingface登陆


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


2.3. 解压缩数据集


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


2.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


2.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, 
)

image.png

huggingface.co/livingbody/…


三、模型gradio部署


很简单,写代码,然后部署


1.写代码


# 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.点击部署


image.png


3.界面


image.png

image.png


4.生成图


image.png

地址:aistudio.baidu.com/aistudio/pr…


相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
6月前
|
人工智能 机器人 Serverless
魔搭大模型一键部署到阿里云函数计算,GPU 闲置计费功能可大幅降低开销
魔搭大模型一键部署到阿里云函数计算,GPU 闲置计费功能可大幅降低开销
750 2
|
16天前
|
测试技术 异构计算
|
3月前
|
人工智能 自动驾驶 vr&ar
探索GPU算力平台的创新应用:从游戏到自动驾驶的跨越
【8月更文第5天】本文探讨了GPU(图形处理器)在现代计算中的角色转变,从最初的图形渲染到如今成为人工智能和高性能计算的重要组成部分。我们将通过几个具体的案例研究,包括游戏渲染、虚拟现实(VR)以及自动驾驶系统,来展示GPU是如何推动这些领域的进步和发展。
73 1
|
22天前
|
人工智能 调度 开发工具
xGPU来啦!免费GPU资源开发花样AI应用!
为了降低AI应用服务和推广的门槛,解决开发者面临的实际痛点,ModelScope社区推出 xGPU 服务,让大家能够免费使用高性能 GPU 资源,托管自己的AI应用服务。
|
6月前
|
机器学习/深度学习 人工智能 监控
基于函数计算体验AIGC文生图应用
小陈在学习Serverless和函数计算后,计划通过阿里云函数计算服务实践AIGC应用。他发现阿里云提供了基于Stable Diffusion的文生图模型模板,可以快速创建AIGC应用。部署步骤包括开通函数计算服务,通过模板创建应用并部署,然后通过应用域名进行文字生图体验。用户还能查看和管理函数,进行版本和别名管理。实验完成后,应用可以被安全删除。
389 2
|
3月前
|
人工智能 API 数据库
动手学Avalonia:基于硅基流动构建一个文生图应用(一)
动手学Avalonia:基于硅基流动构建一个文生图应用(一)
56 1
|
3月前
|
TensorFlow 算法框架/工具 异构计算
【Tensorflow 2】查看GPU是否能应用
提供了检查TensorFlow是否能应用GPU的方法。
20 2
|
4月前
|
人工智能 弹性计算 API
深度评测-通义万相AI绘画创作方案的部署与应用体验
通义万相提供流畅的API调用与资源部署体验,支持一键部署,文档详尽,适合新手。其SDK和示例代码简化了集成,响应速度快。操作界面友好,功能多样,如文本生图、人像美化。在生成效果上,能根据提示词创造各种场景,如古城墙、未来城市、金字塔和北极景象。虽然在处理复杂内容时有待提升,但已展现出良好的泛化能力。通义万相在成本、易用性和应用场景上具有竞争力,适合推荐给团队使用。未来可能的发展方向包括模型精度提升、多模态融合和增强个性化选项。常见问题包括API调用错误、图像质量、资源部署和响应速度,官方文档和社区支持有助于解决问题。
2280 2
|
4月前
|
人工智能 Serverless 异构计算
[AI Cog] 想要运营AI业务,但没有GPU?环境搞不定?使用Cog帮您轻松将业务部署上云
[AI Cog] 想要运营AI业务,但没有GPU?环境搞不定?使用Cog帮您轻松将业务部署上云
|
5月前
|
监控 Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之使用自定义镜像部署GPU服务时,报错 "CPU is required but not provided",是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。