本地部署 Stable Diffusion WebUI 和 Facebook 的 seamless_communication
关于本地部署 Stable Diffusion WebUI 和 Facebook 的 seamless_communication
这篇笔记记录 SD webUI 和 seamless_communication 的部署,SD 自不必说,seamless_communication 是 facebook 的一系列多模态翻译 AI,支持文字到文字,语音到语音,语音到文字,文字到语音的翻译。
这 seamless_communication 有一说一部署起来太难了,单论文字到文字好像也没那么准……以前部署过另一个本地翻译 AI LibreTranslate https://github.com/LibreTranslate/LibreTranslate,这个部署起来简单,但效果似乎也不好。考虑还是继续研究这方面的 AI 或工具有啥好用的,OCR 也得研究一个。
前置需求:
- NVIDIA 显卡(显存得够,我是 4060,8G)
- 安装 Docker
- 网络够好,能够访问 github
这里使用 Docker 部署,使用 nvidia/cuda 容器,提前安装上大部分所需依赖并配置好国内镜像源,python 使用 pyenv 去部署。这里没有为每个 AI 写专门的 Dockerfile 去创建它的环境,而是创建一个基础的 Dockerfile 作为出发点去部署各种 AI 项目。
部署和管理 AI 容器
关于容器的部署,参照 https://www.github.com/v-YOP/yki-ai-starter-image。
下面是关于容器相关的运维操作(均需要在 docker-compose.yml 所在文件夹下执行):
1 |
|
容器重新部署后,需要重新安装 python,但不需要重新拉取 AI 和下载依赖、模型等操作,因为它们存储在宿主机中。
同一个 AI 容器可以拉取多个 AI 项目,但同时启动的话需要修改其端口。以及,每次要启动和使用某 AI 项目时,注意当前是否使用该项目对应的虚拟环境!在容器里执行which python
,检查路径是否在当前项目下。
Stable Diffusion WebUI
首先进入容器,安装 python 3.10.14 并设置其为全局环境:
1 |
|
进入 /opt
目录,拉取 webUI 镜像:
1 |
|
拉取完毕后,进入相应文件夹,创建虚拟环境(保证后面不用反复安装依赖,以及保证不同 AI 项目环境隔离):
1 |
|
然后,激活虚拟环境,安装依赖:
1 |
|
最后,启动 webUI:
1 |
|
待控制台中出现类似 Running on local URL: http://127.0.0.1:7860
的字样时,浏览器访问本地 7860 端口即可。
seamless_communication
部分参考了 https://zhuanlan.zhihu.com/p/680985470。这玩意儿对网络要求很高,要下** 30G(!)**的模型,中途失败还得整个重来,注意生活质量。
安装 python,拉取镜像和 SD 是一样的,但安装依赖不一样——seamless_communication 的依赖是使用setup.py
来安装的,它的安装命令是 pip install .
:
1 |
|
然后再安装 demo 的依赖,然后启动 demo:
1 |
|
待控制台中出现类似 Running on local URL: http://127.0.0.1:7860
的字样时,浏览器访问本地 7860 端口即可。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 协议 ,转载请注明出处!