之前在驱动云上部署了ChatGLM,本文记录在驱动云 VirtAI Cloud 上部署 stable-diffusion-webui 遇到的一些问题。
用免费 GPU 跑 Stable-Diffusion
核心的部署步骤见教程 用免费 GPU 跑 Stable-Diffusion,主要包含了:
- 在云上创建项目:选择镜像和数据集;
- 启动实例;
- 部署模型;
- 在UI中体验;
接下来是使用驱动云过程中遇到的问题。
解压配置文件
按教程提示,发现 /gemini/data-1
下没有 cache.tar 文件。看样子,应该是换了位置,于是搜索了下:
find / -name "cache.tar"
发现是在/share 文件夹下,于是重新解压配置文件:
tar -xf /share/cache.tar -C /root/
拷贝 frpc 内网穿透文件
和 cache.tar 文件一样,frpc_linux_amd64 也存储在 /share/下。
因此,如法炮制更新 cp 命令。经过这个操作后,就可以使用公网地址,访问我们部署的服务了。
问了下一言,什么是 frpc 内网穿透。
FRPC(内网穿透)是一种网络技术,它可以将内网中的服务暴露到外网中,使得外网用户可以访问内网中的服务。它主要通过端口映射和协议转换等技术实现。
一般情况下,内网中的主机是无法被外网直接访问的,因为内网与外网之间存在网络隔离。而 FRPC 的作用就是突破这个隔离,将内网中的服务暴露到外网中。
具体来说,FRPC 可以通过以下步骤实现内网穿透:
内网穿透需要在内网中开启相应的服务,并在服务端设置端口映射和协议转换。端口映射是将内网服务的端口与外网端口进行映射,使得外网用户可以通过访问外网端口来访问内网服务。协议转换是将内网使用的协议转换为外网可以识别的协议,从而使得外网用户可以正确地访问内网服务。
在外网中通过公网 IP 地址访问内网服务。外网用户可以通过公网 IP 地址加端口号来访问内网服务,此时 FRPC 会将请求转发到内网中的相应服务上。
FRPC 会对数据包进行加密和认证,保证数据的安全性和完整性。同时,FRPC 还会对数据包进行压缩和校验,确保数据的正确性和一致性。
总之,FRPC 可以使得外网用户可以访问内网中的服务,从而实现内外网的互通。但是需要注意的是,使用 FRPC 需要注意数据的安全性和隐私保护。
访问 UI
驱动云会提供一个类似 http://direct.virtaicloud.com:xxxx
的URL,注意一定要使用http访问。
同时,终端也会显示类似 https://xyxdd.gradio.live/
的URL。
训练任务
在 DogsVSCats 的练习中,需要部署训练任务。需要注意的是,免费账号最多支持 2个GPU。也就是说,在训练任务开始前,需要停止云实例,否则会由于配额不足导致任务训练无法调度。
Stable-Diffusion
问了下一言, 让其用普通人能理解的文字介绍下 Stable-Diffusion:
Stable Diffusion是一个文本到图像的潜在扩散模型,它的目的是生成高质量的图像。这个模型是基于LAION-5B数据库子集的512x512图像进行训练的,它使用随机高斯噪声作为输入,然后逐步去噪以生成感兴趣的图像。
在训练过程中,该模型通过使用潜在扩散过程,学习将输入的文本转化为图像。这种文本到图像的转换过程使用了潜在扩散模型的技术,使得模型能够从文本中生成具有高保真度的图像。
与早期的文本到图像生成模型相比,Stable Diffusion具有更高的稳定性和更好的生成质量。它能够生成包括人脸在内的任何图像,而且生成的图像更加清晰、自然。
此外,该模型还具有开源的预训练模型,使得用户可以在自己的机器上运行它。这种开源的特性使得Stable Diffusion成为一种非常流行的图像生成模型。
总的来说,Stable Diffusion是一种使用潜在扩散模型将文本转化为高质量图像的强大工具。
Comments