{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "qjxnLNp4TAqD" }, "source": [ "# MMVC Trainer\n", "ver.2022/08/10" ] }, { "cell_type": "markdown", "metadata": { "id": "N0DqCHlOTVEm" }, "source": [ "## 1 概要\n", "「Google Colaboratory」を利用してMMVCで利用するVITSの学習を行います。" ] }, { "cell_type": "markdown", "metadata": { "id": "GE7TpicbUPdz" }, "source": [ "## 2 Google Drive をマウント\n", "**Google Drive にアップロードした MMVC_Trainer を参照できるように、設定します。**\n", "\n", "「このノートブックに Google ドライブのファイルへのアクセスを許可しますか?」 \n", "といったポップアップが表示されるので、「Google ドライブに接続」を押下し、google アカウントを選択して、「許可」を選択してください。 \n", "成功すれば、下記メッセージが出ます。 \n", "```\n", "Mounted at /content/drive/\n", "```\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Dg93D-60nqYK" }, "outputs": [], "source": [ "from google.colab import drive\n", "drive.mount('/content/drive')" ] }, { "cell_type": "markdown", "metadata": { "id": "4G4TAHzvUZY6" }, "source": [ "cdコマンドを実行して、マウントしたGoogle Drive のMMVC_Trainerディレクトリに移動します。 \n", "%cd 「MMVC_Trainerをgoogle driveにパップロードしたパス」 \n", "としてください。 \n", "\n", "正しいパスが指定されていれば\n", "```\n", "-rw------- 1 root root 11780 Mar 4 16:53 attentions.py\n", "-rw------- 1 root root 4778 Mar 4 16:53 commons.py\n", "drwx------ 2 root root 4096 Mar 5 15:20 configs\n", "```\n", "\n", "...といった感じに表示されるはずです。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "kwRuNkLEn5QH" }, "outputs": [], "source": [ "%cd /content/drive/MyDrive/\n", "!ls -la" ] }, { "cell_type": "markdown", "metadata": { "id": "5FTEcWtXUdKH" }, "source": [ "## 3 GPUの確認\n", "GPUの確認を行います。 \n", "割り当てられたGPUのメモリーを確認し、それに合わせてconfigファイルの\"batch_size\"を指定してください。 " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "uSMdNq2rn4_G" }, "outputs": [], "source": [ "!nvidia-smi " ] }, { "cell_type": "markdown", "metadata": { "id": "Cn0fxtiQUifh" }, "source": [ "## 4 必要なライブラリのインストール\n", "\n", "何も考えず実行してください。\n", "\n", "結構時間かかります。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "LWceuYPPn7UN" }, "outputs": [], "source": [ "!apt-get install espeak\n", "!pip install Cython==0.29.21\n", "!pip install librosa==0.8.0\n", "!pip install matplotlib==3.3.1\n", "!pip install numpy\n", "!pip install phonemizer==2.2.1\n", "!pip install scipy==1.5.2\n", "!pip install tensorboard==2.3.0\n", "!pip install torch==1.10.0+cu113 torchvision==0.11.3+cu113 torchaudio===0.10.0 -f https://download.pytorch.org/whl/cu113/torch_stable.html\n", "!pip install Unidecode==1.1.1\n", "!pip install retry\n", "!pip install tqdm\n", "!pip install resampy==0.2.2" ] }, { "cell_type": "markdown", "metadata": { "id": "uO1cMVm2UuaZ" }, "source": [ "## 5 tensorboardの起動\n", "とりあえず実行しておいてください。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "4k3EKZNPn82i" }, "outputs": [], "source": [ "# Load the TensorBoard notebook extension\n", "%load_ext tensorboard" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "0VAw8j3ln-iq" }, "outputs": [], "source": [ "%tensorboard --logdir logs --port 5000" ] }, { "cell_type": "markdown", "metadata": { "id": "burdlftQVFOA" }, "source": [ "## 6 学習を実行します\n", "-c configファイルのパス \n", "Create_Configfile.ipynb 等で作成したconfigファイル(json)を指定してください。 \n", "`configs/****.json`\n", "のような値になります。 \n", "\n", "-m modelの保存先ディレクトリ \n", "**ディレクトリ名を直接指名してください。** \n", "\n", "-fg にFine tuningのベースとなるG_xxxx.pth のpathを指定してください。 \n", "-fd にFine tuningのベースとなるD_xxxx.pth のpathを指定してください。 \n", "**よくわからないよって人は** \n", "-fg fine_model/G_180000.pth -fd fine_model/D_180000.pth \n", "のままにしておいてください。\n", "\n", "2回目以降の実行の場合は自動的に-mで指定したディレクトリの最新のモデルから学習を再開します。 \n", "**必ず学習を再開するときは-fgと-fdのオプションを削除してください**\n", "\n", "Ex)!python train_ms.py -c configs/jsontest.json -m 20220306_24000" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "cf1XrJG2n_7N" }, "outputs": [], "source": [ "!python train_ms.py -c configs/train_config_zundamon.json -m 20220306_24000 -fg fine_model/G_180000.pth -fd fine_model/D_180000.pth" ] }, { "cell_type": "markdown", "metadata": { "id": "oY0o1KKI0P5r" }, "source": [ "学習を再開するときのコード例です。 " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "S3eHzCwI0NsB" }, "outputs": [], "source": [ "!python train_ms.py -c configs/train_config_zundamon.json -m 20220306_24000" ] }, { "cell_type": "markdown", "metadata": { "id": "C3NsBidtNni1" }, "source": [ "### ずんだもん以外の話者の学習を行う場合、下記セルを実行して、初回の学習を開始してください。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "G0UbcymeNni1" }, "outputs": [], "source": [ "!python train_ms.py -c configs/train_config.json -m 20220306_24000 -fg fine_model/G_180000.pth -fd fine_model/D_180000.pth" ] }, { "cell_type": "markdown", "metadata": { "id": "jZdypzvVNni2" }, "source": [ "ずんだもん以外の話者の学習を再開するときのコード例です。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "qoNP1eX1Nni2" }, "outputs": [], "source": [ "!python train_ms.py -c configs/train_config.json -m 20220306_24000" ] } ], "metadata": { "accelerator": "GPU", "colab": { "collapsed_sections": [], "name": "Train_MMVC.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3.9.6 64-bit", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.9.6" }, "vscode": { "interpreter": { "hash": "d3394867249fd41ee68869925f4586b97ae8a94f3c93a4c25403e9e75f272611" } } }, "nbformat": 4, "nbformat_minor": 0 }