国内Ubuntu环境Docker部署CosyVoice
本文旨在记载在 国内 CosyVoice项目在 Ubuntu 环境下如何使用 docker+min-conda进行一键部署。
源项目地点:
https://github.com/FunAudioLLM/CosyVoice
如果想要使用 docker+python 进行部署,可以参考我另一篇博客中的dockerfile进行修改。
https://blog.csdn.net/qq_36991535/article/details/144872382?spm=1001.2014.3001.5502
你只需要将在 git clone 的项目根目次下创建 docker 文件夹,然后将本文的文件放到docker文件夹内; model_download.py 放到项目根目次下;末了进入docker文件夹,使用docker compose -f compose.yaml up 命令即可一键部署。
文件一览:
- Dockerfile
- compose.yaml
- requirements.txt
- start.sh
- model_download.py
效果,端口8888:
Dockerfile
- FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04
- ARG VENV_NAME="cosyvoice"
- ENV VENV=$VENV_NAME
- ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
- ENV DEBIAN_FRONTEN=noninteractive
- ENV PYTHONUNBUFFERED=1
- SHELL ["/bin/bash", "--login", "-c"]
- RUN apt-get update -y --fix-missing
- RUN apt-get install -y git build-essential curl wget ffmpeg unzip git git-lfs sox libsox-dev && \
- apt-get clean && \
- git lfs install
- # ==================================================================
- # conda install and conda forge channel as default
- # ------------------------------------------------------------------
- # Install miniforge
- RUN wget --quiet https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh -O ~/miniforge.sh && \
- /bin/bash ~/miniforge.sh -b -p /opt/conda && \
- rm ~/miniforge.sh && \
- ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \
- echo "source /opt/conda/etc/profile.d/conda.sh" >> /opt/nvidia/entrypoint.d/100.conda.sh && \
- echo "source /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \
- echo "conda activate ${VENV}" >> /opt/nvidia/entrypoint.d/110.conda_default_env.sh && \
- echo "conda activate ${VENV}" >> $HOME/.bashrc
- ENV PATH /opt/conda/bin:$PATH
- RUN conda config --add channels conda-forge && \
- conda config --set channel_priority strict
- # ------------------------------------------------------------------
- # ~conda
- # ==================================================================
- RUN conda create -y -n ${VENV} python=3.8
- ENV CONDA_DEFAULT_ENV=${VENV}
- ENV PATH /opt/conda/bin:/opt/conda/envs/${VENV}/bin:$PATH
- WORKDIR /workspace
- COPY ./requirements.txt ./
- ENV PYTHONPATH="${PYTHONPATH}:/workspace/CosyVoice:/workspace/CosyVoice/third_party/Matcha-TTS"
- # RUN git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
- RUN conda activate ${VENV} && conda install -y -c conda-forge pynini==2.1.5
- # RUN conda activate ${VENV} && cd CosyVoice && pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
- RUN conda activate ${VENV} && pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
- WORKDIR /workspace/CosyVoice
复制代码 compose.yaml
- services:
- cosyvoice:
- container_name: cosyvoice
- image: cosyvoice:1.0
- restart: always
- ports:
- - 8888:8888
- environment:
- - TZ=Asia/Tokyo
- - NVIDIA_VISIBLE_DEVICES=all
- volumes:
- - ../../CosyVoice:/workspace/CosyVoice
- # command: tail -f /dev/null
- command: sh -c "docker/start.sh"
- deploy:
- resources:
- reservations:
- devices:
- - driver: nvidia
- capabilities: [gpu]
复制代码 requirements.txt
- # --extra-index-url https://download.pytorch.org/whl/cu121
- --extra-index-url https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/wheel/cu121/
- --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/ # https://github.com/microsoft/onnxruntime/issues/21684
- conformer==0.3.2
- deepspeed==0.14.2; sys_platform == 'linux'
- diffusers==0.27.2
- gdown==5.1.0
- gradio==4.32.2
- grpcio==1.57.0
- grpcio-tools==1.57.0
- huggingface-hub==0.25.2
- hydra-core==1.3.2
- HyperPyYAML==1.2.2
- inflect==7.3.1
- librosa==0.10.2
- lightning==2.2.4
- matplotlib==3.7.5
- modelscope==1.15.0
- networkx==3.1
- omegaconf==2.3.0
- onnx==1.16.0
- onnxruntime-gpu==1.18.0; sys_platform == 'linux'
- onnxruntime==1.18.0; sys_platform == 'darwin' or sys_platform == 'windows'
- openai-whisper==20231117
- protobuf==4.25
- pydantic==2.7.0
- rich==13.7.1
- soundfile==0.12.1
- tensorboard==2.14.0
- tensorrt-cu12==10.0.1; sys_platform == 'linux'
- tensorrt-cu12-bindings==10.0.1; sys_platform == 'linux'
- tensorrt-cu12-libs==10.0.1; sys_platform == 'linux'
- torch==2.3.1
- torchaudio==2.3.1
- transformers==4.40.1
- uvicorn==0.30.0
- wget==3.2
- fastapi==0.111.0
- fastapi-cli==0.0.4
- WeTextProcessing==1.0.3
- matcha
复制代码 start.sh
- #! /bin/bash
- python3 model_download.py
- python3 webui.py --port 8888 --model_dir pretrained_models/CosyVoice-300M
复制代码 model_download.py
- # SDK模型下载
- from modelscope import snapshot_download
- snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
- snapshot_download('iic/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
- snapshot_download('iic/CosyVoice-300M-25Hz', local_dir='pretrained_models/CosyVoice-300M-25Hz')
- snapshot_download('iic/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
- snapshot_download('iic/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
- snapshot_download('iic/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |