创意无限!AI一秒变画家,文本转化为惊艳画作,Stable Diffusion轻松搞定!丨【玩转华为云】

举报
AXYZdong 发表于 2023/05/10 21:05:54 2023/05/10
【摘要】 前期准备 进入案例 环境配置 检查GPU是否可用 具体步骤 步骤一:导入依赖 步骤二:下载预训练权重文件 步骤三:加载模型 步骤四:生成图像 前期准备 进入案例进入华为云提供的 AI 作画 文字生成图片Stable Diffusion项目入口https://developer.huaweicloud.com/develop/aigallery/notebook/detail?id=03aa...

image.png

前期准备

进入案例

进入华为云提供的 AI 作画 文字生成图片Stable Diffusion项目入口

https://developer.huaweicloud.com/develop/aigallery/notebook/detail?id=03aab198-dc21-4974-ab33-352e9f56939c&ticket=ST-85307035-v6bteMIwMcdVyC5QQh9xubb6-sso

点击 Run in ModelArts

image.png

环境配置

选择 [限时免费]GPU: 1*P100|CPU: 8核 64GB,点击“切换规格”。

image.png

等待30s切换时间。

image.png

image.png

检查GPU是否可用

在选择免费的GPU之后,这个步骤可以省去。当然,如果在本地运行,则需要检查是否有GPU。

!nvidia-smi

image.png

具体步骤

步骤一:导入依赖

耗时约1-2分钟,等待安装完成后,运行后续代码。

!pip install --upgrade pip
!pip install torch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1
!pip install diffusers==0.2.4
!pip install transformers==4.21.1 scipy==1.7.3 ftfy==6.1.1
!pip install "ipywidgets>=7,<8"

表示成功安装。

image.png

步骤二:下载预训练权重文件

从华为元OBS中下载预训练的模型。

import os
import torch
import os.path as osp
import moxing as mox
from diffusers import StableDiffusionPipeline
parent = osp.join(os.getcwd(),'CompVis')
if not os.path.exists(parent):
    mox.file.copy_parallel('obs://modelarts-labs-bj4-v2/case_zoo/StableDiffusion/CompVis',parent)
    if os.path.exists(parent):
        print('Download success')
    else:
        raise Exception('Download Failed')
else:
    print("Model Package already exists!") 

表示下载成功。

image.png

步骤三:加载模型

model_dir = osp.join(osp.join(parent,'stable-diffusion-v1-4'), "diffusers")
os.environ["XDG_CACHE_HOME"] = model_dir
device = 'cuda' if torch.cuda.is_available() else 'cpu'
pipe = StableDiffusionPipeline.from_pretrained(model_dir,
                                               # revision="fp16",
                                               # torch_dtype=torch.float16
                                              ).to(device) 

步骤四:生成图像

输入prompt,等待生成,GPU约20秒可以生成。

prompt小知识
在 ChatGPT 中,Prompt 是指用户输入的文本或问题,用于启动模型生成相应的回复。可以把 prompt 看做是一种输入,它会被送入训练好的 ChatGPT 模型,然后模型会根据该输入生成相应的响应。在 ChatGPT 中,prompt 的质量和准确性非常重要,因为它会直接影响到模型生成的回复的质量和准确性。因此,提供清晰、明确、详尽的 prompt 对于获得满意的回答非常重要。

image.png

prompt:

Cygames girl character concept art and illustration by akihiko yoshida , ultimate dressy , amazing detailed face in profile closeup, galaxy in blue hair, Jewelry eyes , wearing a white galaxy dress , Line Array Speaker , Extreme Explosion , Subwoofer , kyoani character face , cute ,pretty girl , dynamic pose, portrait , pixiv daily ranking , pixiv , artstation ,specatcualr details, Volumetric Lighting , Dramatic lighting —ar 9:16 --test --creative --upbeta

image.png

prompt:

dark style painted, river flowing through forest of cherry blossom trees , under a galaxy filled sky, beautiful, galaxies, deep colors,ultra lighting, Bioelectric Modular Synthesizer, perfect symmetry, cinematic, volumetric lighting, --ar 9:16

image.png

参考文献


——END——
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。