File size: 4,136 Bytes
3f9bd99 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# 版本V2.1
# 训练和命令行使用说明
## 注意:管理器里的每个按钮都对应了命令或训练相关操作。你需要自己学习训练流程。(如果使用webui,则不需要手动复制任何文件。)
```
%PYTHON%
```
指代了包内的python环境,使用时代替
```
python
```
如果要使用自己的环境,需要更改管理器代码。修改是极其简单的。
## 环境维护和升级(示例):
```
%PYTHON% -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
```
一般情况下无需执行此命令。
看不懂的也不要执行这条命令。
## 0.安装ffmpeg:
```
%PYTHON% setup_ffmpeg.py
```
执行一次即可。安装是把当前文件夹下ffmpeg加入环境变量,因此执行完不要移动或删除。否则需要手动更改环境变量。***安装完可能需要重启才能生效。部分设备可能要手动加入系统的path,请自行寻找教程。***
# 注意:首先需要创建或更改全局设置。作用见default_config.yml。将config.yml放在根目录下即可生效。
## 参数解释
* `num_workers` : 简单地说是训练集加载线程数。这个值越高,内存开销越大,内存16G的情况下不建议设置太大。如果过低则会影响训练速度。
# 1.数据集重采样和标注:
* 训练需要没有噪声和背景音乐且说话清晰的单语言音频。
* 如果已有list文件,自行按训练流程处理对应文件,并将音频自行重采样至44100Hz单声道。请注意:某些软件导出的音频可能导致训练错误。
* 这一步会生成符合格式的.list数据集标注文件,包含路径,语言,说话人和转录文本
### 请将音频`按说话人分文件夹`放入`custom_character_voice`内。
## a.whisper通用标注(会自动重采样):音频在2-10s。根据显存选择配置,large需要12G显存。
```
%PYTHON% short_audio_transcribe.py --languages "CJE" --whisper_size large
```
```
%PYTHON% short_audio_transcribe.py --languages "CJE" --whisper_size medium
```
```
%PYTHON% short_audio_transcribe.py --languages "CJE" --whisper_size small
```
可选参数:`--lab_gen False`禁用生成标注
默认同时生成`.lab`后缀标注文件,内容为:`<语言>|<转录文本>`
方便后续直接使用此数据集(使用方法见下)
**下载太慢或者失败,现在可以将whisper模型放在whisper_model下。**
## b.处理下载的已标注的原神数据集(也会自动重采样):
```
%PYTHON% transcribe_genshin.py
```
处理的lab文件内容是`<转录文本>`
请按提示输入对应字母来选择语言。
### 如果希望处理whisper已经标注好的数据集
执行
```
%PYTHON% process_whisper_lab_only.py
```
(不会也无需重采样)
## 2.文本预处理:
```
%PYTHON% cd
```
* 目的是将转录文本处理为注音以供训练。
* 旧版本生成的cleaned文件请删除重新生成。
# 3.bert_gen & emo_gen
```
%PYTHON% bert_gen.py
```
```
%PYTHON% emo_gen.py
```
* 生成bert文件和emo文件
**旧版本生成的文件请删除重新生成。**
# 4.训练:
**请先修改训练配置(位于Data/<实验名>/configs.json)**
## 参数解释
`batch_size`: 批大小,一次训练所抓取的数据样本数量。增加此数值在一定范围内有助于提高效果,也可能加快总体训练速度。但也会增加显存开销。
`learning_rate`: 学习率。推荐0.0002在batch_size=16下,可视情况调整,不宜过小或过大。
`log_interval`: 输出训练情况的间隔。
`eval_interval`: 评估和保存间隔。
## 首次训练:
你需要先将底模复制进models(模型输出目录)中
然后执行
```
%PYTHON% train_ms.py
```
## 继续训练
把`config.json`里的`skip_optimizer`改为`false`
然后执行
```
%PYTHON% train_ms.py
```
# 启动TensorBoard:
```
%PYTHON% -m tensorboard.main --logdir=Data/<实验名>/models
```
看不懂不要管它
# 5.推理:
```
%PYTHON% webui.py -m Data\XXX\models\G_100.pth
```
参数:--c 可选,指定配置文件路径 --m为模型指定路径
|