cbnet环境配置和运行中遇到的问题

一、环境问题

安装时有两套Transformer的网络模型,cbnet是基于transformer的。

1、经常出现CBTransformer 没在仓库这个问题

这个问题在相应的issu中就能找到,根本原因是mmdetection官方版本没加入,需要使用原作者的版本,只需要在相应的项目中执行python setup.py develop

这里主要权限问题和使用虚拟环境问题,比较可行的方案,直接使用root用户,进入环境,在安装mmcv时需要root权限,直接sudo 虚拟环境的绝对路径 进行安装。

2、使用官网参数进行运行时

KeyError: "CascadeRCNN: 'backbone.layers.0.blocks.0.attn.relative_position_bias_table'" 

解决方法:

使用config文件中load_from关键字进行加载预训练模型,不要使用参数--cfg-options model.pretrained= [model.backbone.use_checkpoint=True] [other optional arguments] 这种方式加载模型

3、使用单卡训练是,有的模块是多卡才能使用,比如下面问题

File "/home/snnu/miniconda3/envs/cbswin/lib/python3.8/site-packages/torch/distributed/distributed_c10d.py", line 263, in _get_group_size
    default_pg = _get_default_group()
  File "/home/snnu/miniconda3/envs/cbswin/lib/python3.8/site-packages/torch/distributed/distributed_c10d.py", line 347, in _get_default_group
    raise RuntimeError("Default process group has not been initialized, "
RuntimeError: Default process group has not been initialized, please make sure to call init_process_group.

将config中的SyncBN 会导致上述问题,修改为BN3d 或者其他的BN模块

你可能感兴趣的:(问题杂记,transformer,深度学习,人工智能)