关注身边事
  • UCloud优刻得GPU云主机上线AI绘画stable diffusion平台

  • 作者:每日简报   信息来源:每日简报 
  • 2022-10-31 16:07 收藏
  • 优刻得 UCloud AI
  • 近期UCloud优刻得的GPU云主机上线了AI绘画stable diffusion平台,在UCloud优刻得控制台创建GPU云主机时,在镜像市场选择“AI绘画stable diffusion平台”镜像,然后点击【立即创建】,机器创建成功之后,连接GPU云主机,就已完成所有前期配置。然后输入您心中的描述,例如:“A dream of a distant galaxy, by Caspar David Friedrich, matte painting trending on artstation HQ”,执行一下prompt命令,AI即可输出您心中“设计”的图片,示例图片如下:

    苏轼评王维诗曾言:“味摩诘之诗,诗中有画,观摩诘之画,画中有诗”。中国古典审美特别强调“诗情”与“画意”完美融合。对于一部分朋友们来说,心中纵有万千美景,无奈手拙难画一线,只能凝缩于几行文字,无法通过美妙的图片直抒胸臆,而AI绘画平台恰好提供这个工具。细想一下:“远看山有色,近听水无声”如果通过图片展示,应该也是一副赏心悦目的图卷吧。

    也许UCloud优刻得Stable Diffusion目前还不能作为生产力工具,但不可否认,它让设计变得简单,也为设计方式带来更多多样化元素,让普通人打开了AI绘画的可能性。所以我们推荐大家实际部署玩下,让自己拥有更多的可能!

    附录:UCloud优刻得的GPU云主机的AI绘画stable diffusion平台实践手册

    体验步骤

    1.创建一台GPU云主机

    创建GPU云主机时,镜像选择“AI绘画stable diffusion平台”,操作路径:镜像市场——>AI绘画stable diffusion平台,便捷安装stable diffusion,镜像内置环境:CentOS 7.8。

    推荐机型:GPU型云主机T4S、V100S、P40

    说明:

    内存请选择32GB及以上,否则模型加载时可能会触发OOM。

    绑定EIP并在外网防火墙放行TCP 8888端口。

    2.虚机内部启动jupyter

    nohup jupyter notebook &

    目的在于后续可以在web页面浏览生成的图片,也可在web页面直接编写python交互式程序。

    若需要开机自启,可以自行通过rc.local或systemctl配置。

    3.使用stable diffusion

    3.1方式一:使用stable diffusion的sample script

    3.1.1切换conda环境

    conda activate ldm

    3.1.2执行sample脚本

    执行脚本,输入您预想图画的描述,即可得到图片(以下以“a painting of Mads Mikkelsen smoking”为例),生成的图片在/root/stable-diffusion/outputs/txt2img-samples/目录下。

    cd stable-diffusion

    python scripts/txt2img.py --prompt "a painting of Mads Mikkelsen smoking"

    3.1.3使用jupyter页面查看

    根据外网ip地址,访问http://EIP:8888img

    输入token(在/root/.jupyter/jupyter_notebook_config.py中查看c.NotebookApp.token的配置,可自行修改。)

    根据导航点击预览图片。

    3.2方式二:使用stable diffusion的lib

    3.2.1切换到指定目录

    cd /root/demo

    CopyErrorSuccess

    3.2.2执行python test.py

    需确保在ldm的conda环境中运行。

    以下以生成图片“astronaut_rides_horse.png”为例做演示。

    test.py

    from torch import autocast

    from diffusers import StableDiffusionPipeline

    pipe = StableDiffusionPipeline.from_pretrained(

    "./stable-diffusion-v1-4").to("cuda")

    prompt = "a photo of an astronaut riding a horse on mars"

    with autocast("cuda"):

    image = pipe(prompt)["sample"][0]

    image.save("astronaut_rides_horse.png")

    3.2.3使用jupyter页面查看