本文更新于: 2023年4月6日
最近 AIGC、ChatGPT 等话题持续发酵,热门程度不亚于之前的 “元宇宙”。抖音、小红书到处都是机器对话、AI 绘图的视频。我看见别人生成的漂亮小姐姐图片眼馋得不行,终于按捺不住自己的好奇心,也尝试一下搭建。本文只是简单记录一下搭建过程。
△ 别人生成的漂亮小姐姐
我使用的是 Stable Diffusion,官网:https://stablediffusionweb.com/,
可以输入关键字生成超清图像,而且会出乎你的意料,等待结果的过程还是很期待的。不过生成的结果在于使用了什么模型,生成之前需要输入英文关键字。在官网可以直接测试:https://stablediffusionweb.com/#demo
为了方便尝试,我自己购买了个云主机,选用的是厚德云主机(室友推荐的,性价比高)。
云主机配置如下:
• CPU:8 核
• 内存:16 GB
• 系统: Ubuntu Server 22.04、Python 3.10(当然最推荐使用 GPU 主机了!)
选择国外 IP,下载 github 的内容速度会快一点。
云主机的配置要够高,这里我真心推荐厚德云的云主机,新人注册有代金券可以用,可以按天按月购买,有各种配置可以选,价格也还好。我是直接先买了一天的,搭建试试。
*厚德云官网:*https://www.houdeyun.cn/
注册账号后登陆,点击右上角的 *“控制台”,点击 “基础云”,选择自己要的配置和型号,选择“地区” 和 “系统”,右面选择 “时长” 和 “流量”*,直接购买就好了。
另外厚德云还上线了 GPU 云主机,我对比了几家云厂商,发现厚德云的 GPU *价格非常优惠,*AI 绘画必备,生成速度快。
购买之后会分配公网 *IP*,主机名和密码会通过短信发送到手机,通过 ssh 去登录就好了。
下面正式开始。
\1. 配置下载源
Plaintext # pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
\2. Anaconda 安装,下载链接:https://docs.conda.io/en/latest/miniconda.html#linux-installers
Anaconda 是一个环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换,很方便。
\3. 下载上传到主机后执行安装,按照提示输入,安装成功。
Plaintext # ./Miniconda3-py310_23.1.0-1-Linux-x86_64.sh
\4. 创建一个命令软链,可以直接使用 conda 命令
Plaintext # ln -s /root/miniconda3/bin/conda /usr/bin/conda
\5. 创建一个目录放东西 /git/
Plaintext # mkdir /git
\6. cd 进到 /git/ 目录下:
Plaintext # cd /git/ # git clone https://github.com/CompVis/stable-diffusion.git # git 上下载包
\7. 创建并激活一个 conda 的环境:ldm ,进入到 stable-diffusion 目录安装 Stable Diffusion 环境
Plaintext # cd /git/stable-diffusion # conda env create -f environment.yaml # 要下载环境需要的依赖,需要很久
\8. 解决报错:Command errored out with exit status 128: git fetch -q –tags Check the logs for full command output
Plaintext # conda install -c anaconda git # 安装 git
然后删除重新运行:
Shell # rm -rf /root/miniconda3/envs/ldm # conda env create -f environment.yaml
下载很久很久,最后没有报错,撒花。
激活环境:
Plaintext # conda activate ldm
另:停用一个环境:# conda deactivate
\9. 这一步下载模型,可以下载 ckpt 后缀的模型导入,模型可以去各网站上找。例如:
https://huggingface.co/CompVis (需要登录,直接注册即可)
https://cyberes.github.io/stable-diffusion-models/#stable-diffusion-1-5
https://civitai.com/ (已和谐)
模型可以参考这个帖子:https://zhuanlan.zhihu.com/p/592347520
我这边按照 huggingface 里的使用了一个不需要下载源文件的: https://huggingface.co/CompVis/stable-diffusion-v1-4, 可以直接根据文档里输入命令
Plain Text # pip install –upgrade diffusers transformers scipy
\10. 安装 torch,因为我的云主机是 CPU,所以必须安装 CPU 版本的:https://pytorch.org/get-started/locally/
如果支持 GPU 就安装 CUDA ,但是需要看一下自己机器的 CUDA 版本,使用命令 “nvcc -V” 可以查看
按照官网的命令安装:
Plaintext # pip3 install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cpu
\11. 生成脚本,创建一个 test.py
GPU 版:
Python import torch from diffusers import StableDiffusionPipeline model_id = "CompVis/stable-diffusion-v1-4" device = "cuda" pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16) pipe = pipe.to(device) prompt = "a photo of an astronaut riding a horse on mars" image = pipe(prompt).images[0] image.save("astronaut_rides_horse.png")
CPU 版:
Python import torch from diffusers import StableDiffusionPipeline model_id = "CompVis/stable-diffusion-v1-4" #device = "cuda" #GPU device = torch.device("cuda" if torch.cuda.is_available() else "cpu") pipe = StableDiffusionPipeline.from_pretrained(model_id) pipe = pipe.to(device) prompt = "a photo of an astronaut riding a horse on mars"#图片描述关键词 image = pipe(prompt).images[0] image.save("astronaut_rides_horse.png")#生成图片的保存路径
\12. 最期待的一步来啦!执行脚本生成图片
Plaintext # python3 test.py
不出意外的话,开始需要下载很多东西,好多好多 G。下载之后会开始生成图片,一些 Warning 可以直接忽略。
下面是我踩了好多坑,报了好多错之后执行成功的,生成用了 10 分钟。机器配置太弱了没办法,估计 GPU 主机会快很多。
看了下云主机监控,生成的这段时间飙了这么高,CPU 大概占了 45%,内存也差不多。
最后来看下我随手尝试生成的几个图片:
宇航员骑马:
又测试生成一个,生成时间大约花了 10 分钟。
关键字:a girl with lavender hair and black skirt, fairy tale style background, a beautiful half body illustration, top lighting, perfect shadow, soft painting, reduce saturation, leaning towards watercolor
生成的结果:
又执行了一次上面的关键字,生成如下,貌似有点丑,不知道是不是模型的问题。
实话说,生成的图片看起来怪怪的,这次生成漂亮的小姐姐失败,不过初次搭建,磕磕绊绊也算成功啦,后面会研究一下,下载其他模型和关键词优化来做尝试。
另外现在是代码生成的,后续我会再考虑弄一个页面工具,操作更方便。
Ps. 这篇内容主要是搭建教程,后续我会购买一个 GPU 主机来用来生成漂亮小姐姐。等我文章更新,带你一步一步手动生成漂亮小姐姐。
声明:本站为个人非盈利博客,资源均网络收集且免费分享无限制,无需登录。资源仅供测试学习,请于24小时内删除,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集。请支持正版!如若侵犯了您的合法权益,可联系我们处理。
谢谢