type
Post
status
Published
date
Aug 29, 2022
slug
Diffusion
summary
如何用自己的N卡来玩AI作图
tags
开发
category
技术分享
icon
password
Property
Sep 3, 2022 12:59 PM
听说现在AI作图日新月异,而且很多开源了。大多能用Google Colab直接跑,但听说免费版的出图不快,于是就想用自家的显卡来玩一玩。

Disco Diffusion

配好环境

conda create --name disco-diffusion python=3.9 conda activate disco-diffusion pip install ipykernel opencv-python pandas regex matplotlib ipywidgets conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

Git Clone DD repo

git clone https://github.com/alembics/disco-diffusion.git

运行DD

运行目录里的Disco_Diffusion.ipynb
这里的坑主要在于有些package明明安了说找不到,这个时候请用pip uninstall再pip list看看。
#@title ### 1.3 Install, import dependencies and set up runtime devices 这个Cell中,如果遇到clone或是wget下文件很慢时,请自行下载并放入相应的目录中。
#@title ### 1.4 Define Midas functions 这个Cell中,如果遇到找不到midas的包问题,在Cell前部:
sys.path.append('./MiDaS/midas') # 把midas.xxx 全改成MiDas.midas.xx 如 from MiDaS.midas.dpt_depth import DPTDepthModel
在上一个cell运行完之后下好的预训练pt文件放入相应的models目录中。
# 2. Diffusion and CLIP model settings 中选
diffusion_model
接下来一步一步的运行Cell,在Prompts中改Prompts即可
基本上一张图需要几分钟时间来生成,比起Colab要大为缩短。

Stable Diffusion

CompVis/stable-diffusion
官方教程一步一步来就行
不要忘了下完weights文件后,建立link: ln -s <path/to/model.ckpt> models/ldm/stable-diffusion-v1/model.ckpt
直接用命令行来跑,不方便用手机随时随地玩,github上有人提供了webui,我使用的是这个
AbdBarho/stable-diffusion-webui-docker
在build之前需要先安装好
这个NVIDIA Container Toolkit
之后需要将pth和ckpt文件都放到models目录中,再docker compose build
如果你是ubuntu 22,可能需要这样安装一下docker compose
之后可以用你的机器的内网IP:7860这个网址来打开web ui开始玩,出图速度差不多4秒一张,真的快好多。

AI画的

notion image
 
notion image
 

Prompt应该怎么写

以下几个网址可以帮助我们生成Promt,AI好像不懂中文。
  • Lexica 提供了图可供参考,并给出了对应的Prompt和Seed,可以一键生成一模一样的图,更方便自己修改生成想要画风的脑洞
  • DALL-E给了一个Prompt Book如下:非常方便使用!
 
写一个Stable Diffusion Telegram bot示例文章