- 在试图运行test.py及train.py的过程中遇到了问题:
使用的mmcv=2.0.0,不知道为什么无法导入print_log,当我在mmcv文档中查到from mmengine.logging import print_log
,修改之后仍然有这个错误。因为第二个蓝色的链接路径中也导入了print_log但无法修改包。 - 在安装mmcv-full和mmdet的过程中遇到了下面的问题
这个问题是torch版本造成的,我安装了pytorch2.0.0,nvidia-smi查看的cuda版本是11.7,我按照查到的方法将torch版本调整到1.13.1,解决了这个问题。参考网址
在安装pytorch过程中,我开始是创建虚拟环境,安装2.0.0,cuda11.7, 但安装成功后的torch.cuda.is_available()的值为false,我又重新安装1.8.0, cuda10.2后,在更新为2.0.0,torch.cuda.is_available()的值就会变为true,想不通为什么。有看到文章的友友能帮我解答的,我将十分感激。 - 在按照代码的readme运行
pip install -v -e .
时遇到了下面的问题
Obtaining file:///E:/Large-Selective-Kernel-Network
Running command python setup.py egg_info
error in mmrotate setup command: ‘extras_require’ must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
error: subprocess-exited-with-error
应该是由于缺少包而引起的,重新运行了pip install -r requirements.txt
之后,再运行pip install -v -e .
,产生了问题4 - PermissionError: [WinError 5] 拒绝访问。: ‘E:\Large-Selective-Kernel-Network\mmrotate\.mim\demo\demo.jpg’
error: subprocess-exited-with-error
出现这个问题是因为之前我已经运行成功了pip install -v -e .
,产生了两个新的文件夹“.mm”和“mmrotate.egg-info”,产生的文件因权限不能覆盖进行删除,如下图所示
我删除这两个原来产生的文件夹后,重新运行命令,解决了该问题。
在python环境下运行下列代码会出现同样的报错。
import numpy as np
feats_sc = np.array([])
feats_sc = np.concatenate(feats_sc, axis=1)
主要原因是numpy的concatenate的参数feats_sc的值为空。最后发现是因为我的数据集路径少了“/”,即dotav1.py中的annfiles和img中dataroot+"/trainval"请大家一定仔细检查。
- RuntimeError: Default process group has not been initialized, please make sure to call init_process_group.
这是因为源码是多卡训练,但我的电脑只有一个GPU,单GPU训练和多GPU训练有所不同。下面的图片是lsk_s_fpn_1x_dota_le90.py中部分代码截图。
norm_cfg中,如果是多卡训练,采用“SyncBN”; 如果是单卡训练,将type修改为’BN’即可。