FunAsr微调finetune

  1. 相关文件路径
    /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

  1. 官方文档参考
  • here1
  • here2
  • https://alibaba-damo-academy.github.io/FunASR/en/index.html

以上两个链接略有不同,第二个链接说的更加清楚明白一些;第一个链接主要是代码,比funasr的finetune.py要全一些的代码。

  1. 搭建自定义任务
    here3
    暂时没有实践。
  2. 打印日志

方法来自:阿里巴巴李泽瑞
from modelscope.utils.logger import get_logger
logger = get_logger()

可以用这个来打一些日志,和logging使用方法一样,就是再包了一层;在funasr中,可以通过这个logger来打印些中间结果看看

  1. 多卡训练

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
  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长音频版本说明:

  1. 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
  2. https://www.modelscope.cn/models/damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch/summary
  3. https://github.com/alibaba-damo-academy/FunASR/discussions/134
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值