modelscope-funasr怎么拿验证集评估微调后的模型效果呢?

modelscope-funasr怎么拿验证集评估微调后的模型效果呢?我想固定一批测试数据专门用来测试微调后的效果,有demo吗?

展开
收起
三分钟热度的鱼 2024-01-10 16:55:15 197 分享 版权
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    您可以使用modelscope-funasr提供的评估脚本来评估微调后的模型效果。具体步骤如下:

    1. 准备验证集数据,将其放在一个文件夹中,并按照训练数据的格式进行组织。
    2. 在命令行中进入该文件夹,运行以下命令:
    python3 evaluate.py 
        --checkpoint_path=/path/to/your/finetuned/checkpoint 
        --eval_set_name=validation 
        --config_path=/path/to/your/config 
        --vocab_path=/path/to/your/vocab.txt 
        --device_id=-1 
        --batch_size=16 
        --beam_size=500 
        --length_penalty=1.6 
        --cutoff_prob=1.0 
        --score_mode=sacrebleu
    

    其中,checkpoint_path是微调后模型的路径,eval_set_name是验证集的名称,config_path是配置文件的路径,vocab_path是词汇表文件的路径,device_id是使用的GPU设备ID(如果使用CPU则设置为-1),batch_size是批处理大小,beam_size是解码器的beam宽度,length_penalty是长度惩罚因子,cutoff_prob是剪枝概率,score_mode是评估指标模式(这里使用的是sacrebleu)。

    1. 运行完成后,会在当前目录下生成一个result.txt文件,其中包含了评估结果。您可以根据需要对结果进行分析和可视化。
    2024-01-13 14:28:28
    赞同 展开评论
  • 您可以使用验证集来评估微调后的模型效果。具体来说,您可以将一部分数据作为验证集,用于在微调过程中进行模型选择和调参。

    以下是一个示例代码,演示如何使用验证集评估微调后的模型效果:

    from modelscope.pipelines import FunasrPipeline
    from modelscope.utils.metrics import SpeechMetric
    
    # 创建FunasrPipeline对象
    pipeline = FunasrPipeline(
        audio_column="audio",
        text_column="text",
        checkpoint="path/to/your/checkpoint",
        tokenizer="path/to/your/tokenizer",
        vocab_size=1000,
        num_beams=4,
        max_len_a=200,
        max_len_b=150,
        device="cuda:0" if torch.cuda.is_available() else "cpu",
    )
    
    # 加载验证集数据
    validation_data = load_validation_data()  # 自定义函数,加载您的验证集数据
    
    # 对验证集进行预测并计算指标
    results = pipeline(validation_data)
    metric = SpeechMetric(ref=validation_data["text"], pred=results["result"])
    score = metric.calculate()  # 计算指标得分,例如WER、BLEU等
    print("Validation score:", score)
    

    上述代码中,您需要将checkpoint参数设置为微调后的模型路径,tokenizer参数设置为相应的分词器路径。然后,通过调用pipeline对象的predict方法,传入验证集数据进行预测。最后,使用自定义的SpeechMetric类来计算指标得分,如Word Error Rate(WER)、Bilingual Evaluation Understudy (BLEU)等。

    请注意,以上代码仅为示例,您需要根据您的实际情况进行适当的修改和调整。

    2024-01-12 10:09:42
    赞同 展开评论

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352

还有其他疑问?
咨询AI助理