VRChatをきっかけにボイスチェンジに興味を持ち、RVCを始めてみました。最初は自分の環境(GPU:RTX 3800)で学習させましたが120個程度の 音声ファイルを20回学習させて1時間20分程度かかりました。もっと効率的に作業するにはどうすれば良いかと考えた結果、弊学のGPUサーバーを 使うことにしました。
というわけで、この記事ではGPUサーバーを使ったRVC-WebUIの環境構築を備忘録程度にまとめていきます。
(弊学のGPUサーバーの環境については詳しく言及しません)
ローカル
・Docker
・Git
・VNC Viewer
弊学独自ではなく富士通が提供しているサーバーです。
既に以下がインストールされています
・NVIDIA Driver ・NVIDIA Container-Toolkit
リモートのcudaを確認する。使用するcudaが合わなければ動作はしない。環境によって全く違うから大変
$ nvcc --version
弊学はパスが通ってなかったので、バイナリまで移動して実行した
$ cd /usr/local/cuda/bin $ ./nvcc --
色々と出てくるがここだけ確認すればいい。弊学ではcuda 11.1.105を使用
Cuda compilation tools, release 11.1, V11.1.105
cudaのバージョンが同じ場合はこちらからDockerimageをpullできます 但し、Pillowのバージョンを9.5.0にダウングレードする必要があります。
cudaが合わない場合はまず、こちらからRetrieval-based-Voice-Conversion-WebUIをcloneする
コンテナのベースを指定する
こちらから自分のcudaに合うコンテナベースがあるか確認する。
#FROM nvidia/cuda:11.6.2-cudnn8-runtime-ubuntu20.04
FROM nvidia/cuda:11.1.1-cudnn8-runtime-ubuntu20.04
PyTorch関連の依存関係をインストール
# Install Python 3.9 and pipと# Set Python 3.9 as the defaultの間に記述
# 追記 PyTorch関連の依存関係をインストール # v1.10.1 # CUDA 11.1 RUN pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html
ビルドしてイメージを作成
予め作っておいたDockerhubのリポジトリに沿ってビルド名をつける。
$ sudo docker build -t リポジトリ名:tagname .
リポジトリへpush
$ sudo docker push リポジトリ名:tagname
scpコマンドで送るなりgithubから再びcloneする
cloneするならこちらから
run.shのあるファイルにsingularityを使ってdockerから.sifファイルをビルドする
$ singularity pull docker://リポジトリ名:tagname
基底モデルをHugging Face spaceからダウンロードする。
./assets/hubert/hubert_base.pt ./assets/pretrained ./assets/uvr5_weights # V2のモデルを使用するには、追加でファイルをダウンロードする ./assets/pretrained_v2 # ffmpegがすでにinstallされている場合は省略 ./ffmpeg
私はwgetコマンドでダウンローデ出来ると思っていたが、私のダウンロードの仕方だとhtmlファイルをダウンロードしていたらしく思わぬエラーで詰まりました。 wgetについては今後詳しく調べようと反省してます。
これで準備はできました。
singularityで.sifファイルを実行し、RVC-WebUIを起動します
$ singularity shell --nv .sifファイル singularity > python3 inger-web.py
あとはこれでVNC Viewerでブラウザ上から動作確認できればOKです。お疲れ様でした。
前の記事 | 次の記事