一份简易的Wav2Vec2微调代码。
本项目是在Wav2Vec2-Large-XLSR-53-Chinese-zh-CN的基础上进行微调,需要先自行下载该预训练模型到本地,存放到pretrain/wav2vec2-large-xlsr-53-chinese-zh-cn
路径下:
.
├── pretrain
│ ├── README.md
│ ├── wav2vec-large-xlsr-53-chinese-zh-cn
│ │ ├── .gitattributes
│ │ ├── config.json
│ │ ├── flax_model.msgpack
│ │ ├── preprocessor_config.json
│ │ ├── pytorch_model.bin
│ │ ├── README.md
│ │ ├── special_tokens_map.json
│ │ └── vocab.json
由于在实践中可能存在训练数据与业务场景数据采样率不同的问题,本项目借用了Z-zq的TensorflowASR项目中的语音数据读取代码。
训练数据分为语音数据(.wav)与标注文本,其中语音数据的采样率默认为16000。
- 注意:文本中最好不含英文字母,阿拉伯数字应转为汉字。
二者存储在一个**.txt文件**中,格式如下:
{/path/to/wav_file1}\t{text1}
{/path/to/wav_file2}\t{text2}
...
例:
/home/username/aishell/BAC009S0002W0122\t而对楼市成交抑制作用最大的限购
/home/username/aishell/BAC009S0002W0123\t也成为地方政府的眼中钉
/home/username/aishell/BAC009S0002W0124\t自六月底呼和浩特市率先宣布取消限购后
训练数据以train.txt
和dev.txt
命名,放在./data
路径下:
.
├── data
│ ├── dev.txt
│ ├── README.md
│ └── train.txt
python train.py
相关参数(epochs / batch_size / learning_rate / gpu or cpu)均可在train.py
中设置。
先在recognize.py
中设置MODEL_DIR
与wav_path
,然后运行:
python test.py