甘栗の雨暮らし

Linux環境のGPUサーバーでRVC-WebUIの環境を構築

カテゴリ:機械学習

作成日:2023年11月23日4:34

更新日:2024年1月23日13:52

前の記事 | 次の記事

はじめに

VRChatをきっかけにボイスチェンジに興味を持ち、RVCを始めてみました。最初は自分の環境(GPU:RTX 3800)で学習させましたが120個程度の 音声ファイルを20回学習させて1時間20分程度かかりました。もっと効率的に作業するにはどうすれば良いかと考えた結果、弊学のGPUサーバーを 使うことにしました。

というわけで、この記事ではGPUサーバーを使ったRVC-WebUIの環境構築を備忘録程度にまとめていきます。

(弊学のGPUサーバーの環境については詳しく言及しません)

前提

ローカル

・Docker

・Git

・VNC Viewer

GPU環境

弊学独自ではなく富士通が提供しているサーバーです。

既に以下がインストールされています

・NVIDIA Driver
・NVIDIA Container-Toolkit

GPUサーバーのCUDAを確認

リモートの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

GPUサーバーで実装

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です。お疲れ様でした。

ホームアイコン 前の記事 | 次の記事
ブログ管理人のプロフィール画像
甘栗

 中学でホルンを吹いていた。Ubuntuサーバーの記事をメインで書くよ。他も色々と書いていく予定。