ajh-code's picture
Add files using upload-large-folder tool
c41750d verified
|
Raw
History Blame Contribute Delete
7.16 kB
## 必要条件
- GPUメモリ: 24GB (推論時)
- システム: Linux, WSL
## システムセットアップ
Fish Audio S2は複数のインストール方法をサポートしています。ご自身の開発環境に最も適した方法をお選びください。
**前提条件**: 音声処理のためのシステム依存関係をインストールします:
``` bash
apt install portaudio19-dev libsox-dev ffmpeg
```
### Conda
```bash
conda create -n fish-speech python=3.12
conda activate fish-speech
# GPU版のインストール (CUDAバージョンを選択: cu126, cu128, cu129)
pip install -e .[cu129]
# CPU版のみのインストール
pip install -e .[cpu]
# デフォルトインストール (PyTorchのデフォルトインデックスを使用)
pip install -e .
# pyaudioのインストールでエラーが発生する場合は、以下のコマンドを試してください:
# conda install pyaudio
# その後、再度 pip install -e . を実行してください
```
### UV
UVはより高速な依存関係の解決とインストールを実現します:
```bash
# GPU版のインストール (CUDAバージョンを選択: cu126, cu128, cu129)
uv sync --python 3.12 --extra cu129
# CPU版のみのインストール
uv sync --python 3.12 --extra cpu
```
### Intel Arc XPU サポート
Intel Arc GPUユーザーは、以下の手順でXPUサポートをインストールしてください:
```bash
conda create -n fish-speech python=3.12
conda activate fish-speech
# 必要なC++標準ライブラリをインストール
conda install libstdcxx -c conda-forge
# Intel XPU対応のPyTorchをインストール
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu
# Fish Speechのインストール
pip install -e .
```
!!! warning
`compile`オプションはWindowsとmacOSではサポートされていません。コンパイルを有効にして実行したい場合は、ご自身でTritonをインストールする必要があります。
## Dockerセットアップ
Fish Audio S2シリーズモデルは、さまざまなニーズに応えるため複数のDockerデプロイメントオプションを提供しています。Docker Hubのビルド済みイメージを使用するか、Docker Composeでローカルビルドするか、手動でカスタムイメージをビルドすることができます。
WebUIとAPIサーバーの両方について、GPU(デフォルトはCUDA 12.6)版とCPU版のDockerイメージを提供しています。Docker Hubのビルド済みイメージを使用するか、Docker Composeでローカルビルドするか、手動でカスタムイメージをビルドするかを選択できます。ローカルでビルドする場合は、以下の手順に従ってください。ビルド済みイメージを使用するだけの場合は、[推論ガイド](inference.md)を直接参照してください。
### 前提条件
- DockerとDocker Composeがインストール済みであること
- NVIDIA Dockerランタイムがインストール済みであること(GPUサポート用)
- CUDAによる推論のために、少なくとも24GBのGPUメモリがあること
### Docker Composeの使用
開発やカスタマイズのために、Docker Composeを使用してローカルでビルド・実行できます:
```bash
# まず、リポジトリをクローンします
git clone https://github.com/fishaudio/fish-speech.git
cd fish-speech
# CUDAでWebUIを起動
docker compose --profile webui up
# コンパイル最適化を有効にしてWebUIを起動
COMPILE=1 docker compose --profile webui up
# APIサーバーを起動
docker compose --profile server up
# コンパイル最適化を有効にしてAPIサーバーを起動
COMPILE=1 docker compose --profile server up
# CPUのみでのデプロイ
BACKEND=cpu docker compose --profile webui up
```
#### Docker Compose 環境変数
環境変数を使用してデプロイメントをカスタマイズできます:
```bash
# .env ファイルの例
BACKEND=cuda # または cpu
COMPILE=1 # コンパイル最適化を有効化
GRADIO_PORT=7860 # WebUIのポート
API_PORT=8080 # APIサーバーのポート
UV_VERSION=0.8.15 # UVパッケージマネージャーのバージョン
```
このコマンドはイメージをビルドし、コンテナを実行します。WebUIには`http://localhost:7860`で、APIサーバーには`http://localhost:8080`でアクセスできます。
### 手動でのDockerビルド
ビルドプロセスをカスタマイズしたい上級者向け:
```bash
# CUDAサポート付きのWebUIイメージをビルド
docker build \
--platform linux/amd64 \
-f docker/Dockerfile \
--build-arg BACKEND=cuda \
--build-arg CUDA_VER=12.6.0 \
--build-arg UV_EXTRA=cu126 \
--target webui \
-t fish-speech-webui:cuda .
# CUDAサポート付きのAPIサーバーイメージをビルド
docker build \
--platform linux/amd64 \
-f docker/Dockerfile \
--build-arg BACKEND=cuda \
--build-arg CUDA_VER=12.6.0 \
--build-arg UV_EXTRA=cu126 \
--target server \
-t fish-speech-server:cuda .
# CPUのみのイメージをビルド(マルチプラットフォーム対応)
docker build \
--platform linux/amd64,linux/arm64 \
-f docker/Dockerfile \
--build-arg BACKEND=cpu \
--target webui \
-t fish-speech-webui:cpu .
# 開発用イメージをビルド
docker build \
--platform linux/amd64 \
-f docker/Dockerfile \
--build-arg BACKEND=cuda \
--target dev \
-t fish-speech-dev:cuda .
```
#### ビルド引数
- `BACKEND`: `cuda` または `cpu` (デフォルト: `cuda`)
- `CUDA_VER`: CUDAバージョン (デフォルト: `12.6.0`)
- `UV_EXTRA`: CUDA用のUV追加パッケージ (デフォルト: `cu126`)
- `UBUNTU_VER`: Ubuntuバージョン (デフォルト: `24.04`)
- `PY_VER`: Pythonバージョン (デフォルト: `3.12`)
### ボリュームマウント
どちらの方法でも、以下のディレクトリをマウントする必要があります:
- `./checkpoints:/app/checkpoints` - モデルの重みファイル用ディレクトリ
- `./references:/app/references` - 参照音声ファイル用ディレクトリ
### 環境変数
- `COMPILE=1` - `torch.compile`を有効にして推論を高速化(約10倍)
- `GRADIO_SERVER_NAME=0.0.0.0` - WebUIサーバーのホスト
- `GRADIO_SERVER_PORT=7860` - WebUIサーバーのポート
- `API_SERVER_NAME=0.0.0.0` - APIサーバーのホスト
- `API_SERVER_PORT=8080` - APIサーバーのポート
!!! note
Dockerコンテナは、モデルの重みが`/app/checkpoints`にマウントされることを想定しています。コンテナを起動する前に、必要なモデルの重みをダウンロードしてください。
!!! warning
GPUサポートにはNVIDIA Dockerランタイムが必要です。CPUのみでデプロイする場合は、`--gpus all`フラグを削除し、CPU用のイメージを使用してください。