如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai
上面两张图都是通过ai生成的,是不是有以假乱真的感觉。
本教程提供的是自己搭建一个可以外网访问的ai系统的方法,需要采购gpu服务器(后续会出白嫖的方式),并且能够通过外网访问,全程跟着教程走很快就能完成。
服务器的选购
因为我们的ai绘图系统是基于开源项目 stable-diffusion-webui ,因此我们需要采购拥有gpu的服务器,不过一般gpu服务器偏贵,因此可以去不同的云服务产商看看有没有优惠,以下给出两个推荐,现在腾讯云有45块钱15天的优惠,推荐腾讯云。
阿里云
-
阿里云网址: https://www.aliyun.com/
-
推荐选择 按量付费 (可以在不用的时候关掉服务器节约钱) , 对于只是想自己搭建着玩玩的按量付费最划算,不然价格。然后服务器要选择完整带有一颗GPU的,后续驱动安装才能成功。
-
也可以选择抢占式,因为便宜,不过记得随时备份数据
- 一定要选安装gpu驱动,后续会简化很多步骤
- 接下来只要点提交订单(阿里云需要100元的余额才能提交订单),等服务器创建成功就ok了
- 服务器创建成功后,进入 控制台 找到自己刚才创建的服务器进入
- 服务器首次使用记得 重置密码,重置后远程连接进入控制台
腾讯云
- https://cloud.tencent.com/act/free/personal?from=17591 进入网页,选择计算,新用户免费体验七天
-
不过我不是新用户了,因此选择购买 网址: https://buy.cloud.tencent.com/cvm?tab=custom&step=1&devPayMode=monthly®ionId=1&zoneId=100003&teQmplateCreateMode=createLt。
-
记得选择GPU机型 ,如果资金不足推荐选择竞价实例(就是有可能会被自动释放,但是推荐购买,因为配置高还便宜,但是腾讯云竞价实例不能关机后不收费,而阿里云可以关机后不收费)
-
如果是按量计费(有关机不收费功能)选第8.68那款就好了,如果是竞价实例就看自己需求,至少要有单独的一张卡,别到后面因为配置原因跑不了图
-
依旧选择自动安装gpu驱动(会节约很多时间),如果想体验手动安装的感觉可以参照 : https://cloud.tencent.com/developer/article/2073793
-
选择新建安全组,全部勾上,并且在下面设置密码,然后勾选协议开通就好了 (需要有一定余额,十来块二十块钱就OK了)
-
进入自己的实例然后登录就OK了
-
安装对应环境以及配置
- 登录服务器
-
执行以下命令
# 到根目录下的home目录下
cd /home
# 安装git
sudo apt install git
# 克隆对应的项目
git config --global --get http.proxy
git config --global --get https.proxy
# 如果clone 时卡住不动可以 ctrl + c 退出再重新输入命令
sudo git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
# 进入项目的目录
cd stable-diffusion-webui
# 安装对应依赖,使用阿里的镜像源,可能安装时间比较久,如果报错重新输入下面命令一遍就好
sudo pip install -r requirements_versions.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
- 配置nginx外网访问,安装nginx
# 输入以下命令会要你选择Y/N 输入Y回车就好
sudo apt install nginx
- 修改配置文件 先删除 ,然后创建一个 将以下内容复制
sudo rm /etc/nginx/nginx.conf
sudo vim /etc/nginx/nginx.conf
## 按下 i ,进入编辑模式
## 复制以下内容
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:6006/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
-
然后按ecs + : + eq 退出vim模式并保存
-
启动nginx 执行命令 : sudo service nginx start -c /etc/nginx/nginx.conf
-
依赖安装完成后运行webui(首次输入运行命令可能需要安装很多依赖以及包,需要一些时间,报错后重新运行即可,或者参考后面可能遇到的错误) ,出现 Running on local URL ***** 就是启动完成了
sudo python launch.py --listen --port 6006
- 然后在你的网页输入你的ip地址
载入模型
不同的模型所生成的效果是不一样的
-
模型放置位置 /home/stable-diffusion-webui/models/Stable-diffusion
-
模型网站 https://civitai.com/ (可能需要魔法才能进入,因此我在公众号 杂货猿 提供了对应的安装包,回复 ai绘画模型 即可获得)
具体操作
- 先执行以下命令
# 给目录用户的权限
sudo chmod 777 /home/stable-diffusion-webui/models/Stable-diffusion
- 上传我给的 safetensors 结尾的文件 到 /home/stable-diffusion-webui/models/Stable-diffusion
- 使用软件XFTP(公众号回复XFTP),因为文件较大,腾讯云自带工具无法上传。打开后主机输入自己的ip地址,用户名 ubuntu 密码就是服务器设置的密码.
- 直接拖拽到对应目录
- 如果上传速度较慢可以尝试 sudo curl -Lo chilloutmix_NiPrunedFp32.safetensors https://civitai.com/api/download/models/11745 后面链接对应civitai 的模型下载地址,这个链接为chilloutmimx的模型
-
Lora 模型 放在models/Lora 文件夹下,lora的添加,点击生成图片下的人形照片按钮,选择lora,选择我们刚才下载的lora ,如下图
- KoreanDolllikeness模型 sudo curl -Lo KoreanDolllikeness.safetensors https://civitai.com/api/download/models/14014
- grapefruit生成动漫人物 sudo curl -Lo grapefruit.safetensors https://civitai.com/api/download/models/9000
-
vae放在 放在models/VAE 文件夹下 ,使用在webui面板的设置中 setting -> Stable Diffusion -> SD VAE 选择我们刚才下载的vae ,然后选择 apply setting
- 下载命令 sudo curl -Lo vae-ft-mse-840000-ema-pruned.safetensors https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors
-
上传后重新运行webui,需要加载一些东西
- 下载完成出现 Running 。。。
- 打开网页,修改右上角的模型,输入关键字生成图片(一定要输英文的关键字)
可能遇到的错误
1. PermissionError: [Errno 13] Permission denied: ‘INSTALLER’
- 命令前没有加 sudo
2.ImportError: cannot import name ‘soft_unicode’ from ‘markupsafe’ (/usr/local/lib/python3.8/dist-packages/markupsafe/init.py)
- 卸载 sudo pip uninstall markupsafe