• Conformer测试问题


    https://github.com/pengzhiliang/Conformer

    抽空测试了conformer,训练起来很简单,但是会遇到一个问题:

     Loss is nan, stopping training

     我用的默认配置,不知道为什么会有这个问题,知道的来探讨下。(再次测试了下,下载作者提供的模型作为预模型可以避免这个问题

    1.数据准备

    我直接拿了猫狗大战的数据来测试,下面是目录结构

    一级目录

    二级目录 ,注意二级目录就是按类别放图像就好了

     

    train 和 val是我手动划分的。下面是数据的百度网盘链接

    链接:https://pan.baidu.com/s/1JQB96Ddu-PLVvK0YECVx4g 
    提取码:z23o 
    --来自百度网盘超级会员V6的分享

    2.训练

    训练其实很简单,只需要在参数部分改下面两个地方就好了,一个是数据的根目录,一个是存出的路径(新建一个目录),不给路径的话就会只训练,不产生模型。改完以后直接运行,也不用像源码链接一样在命令行输入一大串,当然你如果想的话也行,其实参数都在default里加就行,命令行不方便

     3.预测

    预测和训练一样,只是改参数,那就别改来改去了,直接复制一份main.py改成inference.py把下面的参数改下。改完就会直接运行测试代码了,结果会给出val的精度

    val的精度情况如下:

    1. Test: [ 0/11] eta: 0:04:46 loss: 0.1592 (0.1592) loss_0: 0.0810 (0.0810) loss_1: 0.0782 (0.0782) acc1: 100.0000 (100.0000) acc1_head1: 100.0000 (100.0000) acc1_head2: 100.0000 (100.0000) time: 26.0744 data: 19.5478 max mem: 2496
    2. Test: [10/11] eta: 0:00:02 loss: 0.1602 (0.1684) loss_0: 0.0818 (0.0851) loss_1: 0.0785 (0.0833) acc1: 98.9583 (99.0000) acc1_head1: 100.0000 (99.2000) acc1_head2: 98.9583 (99.0000) time: 2.8352 data: 1.7771 max mem: 2496
    3. Test: Total time: 0:00:31 (2.8660 s / it)
    4. * Acc@heads_top1 99.000 Acc@head_1 99.200 Acc@head_2 99.000 loss@total 0.168 loss@1 0.085 loss@2 0.083
    5. Accuracy of the network on the 1000 test images: 99.0%

  • 相关阅读:
    JSP out对象:向客户端输出数据
    SpringBoot文件上传
    Spring的事务机制
    Oracle CPU使用率过高问题处理
    CodeForces刷题:Football、Letter、Indian Summer、Codecraft III、Triangular numbers
    M系列 Mac使用Homebrew下载配置git和连接GitHub
    正确认识HTTP和HTTPS协议及其在Java Web项目中的应用!
    ELK部署
    Hadoop环境安装
    Spring中@Lazy注解的使用
  • 原文地址:https://blog.csdn.net/qq_20373723/article/details/127974991