电脑基础 · 2023年4月3日

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

上面两张图都是通过ai生成的,是不是有以假乱真的感觉。

本教程提供的是自己搭建一个可以外网访问的ai系统的方法,需要采购gpu服务器(后续会出白嫖的方式),并且能够通过外网访问,全程跟着教程走很快就能完成。


服务器的选购

因为我们的ai绘图系统是基于开源项目 stable-diffusion-webui ,因此我们需要采购拥有gpu的服务器,不过一般gpu服务器偏贵,因此可以去不同的云服务产商看看有没有优惠,以下给出两个推荐,现在腾讯云有45块钱15天的优惠,推荐腾讯云。

阿里云

  • 阿里云网址: https://www.aliyun.com/

  • 推荐选择 按量付费 (可以在不用的时候关掉服务器节约钱) , 对于只是想自己搭建着玩玩的按量付费最划算,不然价格。然后服务器要选择完整带有一颗GPU的,后续驱动安装才能成功。

  • 也可以选择抢占式,因为便宜,不过记得随时备份数据

    如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 一定要选安装gpu驱动,后续会简化很多步骤

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 接下来只要点提交订单(阿里云需要100元的余额才能提交订单),等服务器创建成功就ok了
  • 服务器创建成功后,进入 控制台 找到自己刚才创建的服务器进入

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 服务器首次使用记得 重置密码,重置后远程连接进入控制台

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

腾讯云

  • https://cloud.tencent.com/act/free/personal?from=17591 进入网页,选择计算,新用户免费体验七天

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 不过我不是新用户了,因此选择购买 网址: https://buy.cloud.tencent.com/cvm?tab=custom&step=1&devPayMode=monthly&regionId=1&zoneId=100003&teQmplateCreateMode=createLt。

  • 记得选择GPU机型 ,如果资金不足推荐选择竞价实例(就是有可能会被自动释放,但是推荐购买,因为配置高还便宜,但是腾讯云竞价实例不能关机后不收费,而阿里云可以关机后不收费)

  • 如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 如果是按量计费(有关机不收费功能)选第8.68那款就好了,如果是竞价实例就看自己需求,至少要有单独的一张卡,别到后面因为配置原因跑不了图

  • 如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 依旧选择自动安装gpu驱动(会节约很多时间),如果想体验手动安装的感觉可以参照 : https://cloud.tencent.com/developer/article/2073793

  • 如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 选择新建安全组,全部勾上,并且在下面设置密码,然后勾选协议开通就好了 (需要有一定余额,十来块二十块钱就OK了)

  • 如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 进入自己的实例然后登录就OK了

  • 如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

    安装对应环境以及配置

    • 登录服务器

    如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 执行以下命令

# 到根目录下的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

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 配置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

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 然后在你的网页输入你的ip地址

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

载入模型

不同的模型所生成的效果是不一样的

  • 模型放置位置 /home/stable-diffusion-webui/models/Stable-diffusion

  • 模型网站 https://civitai.com/ (可能需要魔法才能进入,因此我在公众号 杂货猿 提供了对应的安装包,回复 ai绘画模型 即可获得)

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

具体操作

  • 先执行以下命令
# 给目录用户的权限
sudo chmod 777 /home/stable-diffusion-webui/models/Stable-diffusion
  • 上传我给的 safetensors 结尾的文件 到 /home/stable-diffusion-webui/models/Stable-diffusion
  • 使用软件XFTP(公众号回复XFTP),因为文件较大,腾讯云自带工具无法上传。打开后主机输入自己的ip地址,用户名 ubuntu 密码就是服务器设置的密码.

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 直接拖拽到对应目录

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 如果上传速度较慢可以尝试 sudo curl -Lo chilloutmix_NiPrunedFp32.safetensors https://civitai.com/api/download/models/11745 后面链接对应civitai 的模型下载地址,这个链接为chilloutmimx的模型

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 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

    如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 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

    如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 上传后重新运行webui,需要加载一些东西

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 下载完成出现 Running 。。。

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

  • 打开网页,修改右上角的模型,输入关键字生成图片(一定要输英文的关键字)

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai

可能遇到的错误

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