voice-changer/demo/MMVC_Trainer/notebook/02_Train_MMVC.ipynb
2022-12-09 13:15:52 +09:00

299 lines
8.4 KiB
Plaintext
Executable File

{
"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
}