美文网首页
mmdetection实践踩坑笔记

mmdetection实践踩坑笔记

作者: 几时见得清梦 | 来源:发表于2019-07-27 15:56 被阅读0次

    需注意的问题

    1. mmdetection环境:最好采用PyTorch1.0,cuda10.0,Python3.6
    2. 执行python(3) setup.py develop or pip install -v -e时,需要注意权限的问题,使用sudo或者--user

    Tips

    1. 训练时数据加载很慢,导致gpu得不到充分利用。
    • 可以预先将数据加载至内存,再从内存中读取数据;
    • 可以使用NVIDIA的apex库。这个库可以对pytorch的dataloader进行封装,并在每个epoch训练开始前预加载数据,从而达到加速IO的效果。相比于把数据预先加载的内存的方法需要内存足够大,而且加载到内存也需要很长时间,因此使用apex库是有优势的。另一方面,apex有一个小缺点,调用它必须在每个epoch开始的时候,因此每个epoch需要花费数秒让apex完成对dataloader的封装。
    • 使用torch.cudnn.benchmark加速
    1. resume时如何手动调整学习率?

    报错及解决

      • 报错:THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=383 error=11 : invalid argument #21154
      • 解决:对于RTX2080Ti,cuda版本需10.0以上,且pytorch的安装不能直接pip install ,需要从源码编译或者下载wheel安装。e.g. pip install https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-linux_x86_64.whl
      • 报错:只有一个检测类别时,会有keyerror的错误
    • 解决:mmdet/datasets/voc.py中修改为自己的对应类别,并下面两个二选一:
      • set CLASSES=['...'] if you are having only one class, instead of CLASSES=('...')
      • CLASSES = ('class',)
      • 报错:frame #26: __libc_start_main + 0xf0 (0x7fb78ff0f830 in /lib/x86_64-linux-gnu/libc.so.6)
      • mmdetection使用的学习率是对应的8卡,需要根据自己的卡数进行线性调整。

    相关文章

      网友评论

          本文标题:mmdetection实践踩坑笔记

          本文链接:https://www.haomeiwen.com/subject/zhherctx.html