- 相关文件路径
/root/.cache/modelscope/hub/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/
里面有finetune.yaml可以手动查看修改微调参数
tree /root/.cache/modelscope/hub/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/
/root/.cache/modelscope/hub/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/
├── README.md
├── am.mvn
├── config.yaml
├── configuration.json
├── decoding.yaml
├── example
│ └── asr_example.wav
├── fig
│ └── struct.png
├── finetune.yaml
├── lm
│ ├── lm.pb
│ └── lm.yaml
├── model.pb
├── seg_dict
└── tokens.txt
3 directories, 13 files
- 官方文档参考
以上两个链接略有不同,第二个链接说的更加清楚明白一些;第一个链接主要是代码,比funasr的finetune.py要全一些的代码。
- 搭建自定义任务
here3
暂时没有实践。 - 打印日志
方法来自:阿里巴巴李泽瑞
from modelscope.utils.logger import get_logger
logger = get_logger()
可以用这个来打一些日志,和logging使用方法一样,就是再包了一层;在funasr中,可以通过这个logger来打印些中间结果看看
- 多卡训练
python finetune.py 默认使用单卡训练;
多卡试试
- NCCL_P2P_DISABLE=1 CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node 2 finetune.py > log.txt 2>&1
- NCCL_P2P_DISABLE=1 CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node 8 finetune.py > log.txt 2>&1
- 打印日志调试
- token处理文件:funasr/datasets/large_datasets/utils/tokenize.py
- 训练迭代文件:funasr/train/trainer.py 568行
568 for iiter, (keys, batch) in enumerate(
569 reporter.measure_iter_time(iterator, "iter_time"), 1
570 ):
- 日志打印
开头创建logger
from modelscope.utils.logger import get_logger
logger = get_logger()
中间地方打印想要的日志:
571 assert isinstance(batch, dict), type(batch)
572
573 text = batch["text"]
574 if text.dtype != torch.int64 and text.dtype != torch.int32:
575 logger.info("itter: " + str(itter))
576 logger.info("text.dtype: " + text.dtype)
577 logger.info("sample keys: {}".format(keys))
578 else:
579 logger.info("text.dtype: " + text.dtype)
580 continue
- funasr位置
有两个,一个是git clone下来的项目位置,一个是pip/conda安装的位置。如果在git clone中修改日志不生效,则修改pip/conda安装包下的相关文件,即可生效。
pip/conda位置:/root/anaconda3/envs/你的env/lib/python3.*/site-packages/funasr
其他:
paraformer-large长音频版本说明:
- https://github.com/alibaba-damo-academy/FunASR/blob/main/egs_modelscope/asr_vad_punc/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch/demo.py
- https://www.modelscope.cn/models/damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch/summary
- https://github.com/alibaba-damo-academy/FunASR/discussions/134