您好:
我尝试复现你的这个项目,但是因为我的算力不足,我想用HRSC2016数据集,当我把
mmdet/models/backbones/swin.py
mmdet/models/backbones/init.py
configs/obb/oriented_rcnn/fasxxx.py
等等文件准备好,并且选择好HRSC2016数据集之后,出现了这个问题:
FoundError: [Errno 2] No such file or directory: '/tmp/tmp9tms1rcn/tmpidew67pt.py'
(obbdetection) root@container-60cd118dac-91f4b7d2:~/OBBDetection# python tools/train.py configs/obb/oriented_rcnn/faster_rcnn_orpn_swin_fpn_3x_hrsc.py --work-dir work_dirs
Traceback (most recent call last):
File "/root/miniconda3/envs/obbdetection/lib/python3.7/site-packages/mmcv/utils/config.py", line 101, in _validate_py_syntax
ast.parse(content)
File "/root/miniconda3/envs/obbdetection/lib/python3.7/ast.py", line 35, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "", line 80
train_cfg = dict(
^
SyntaxError: invalid syntax
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "tools/train.py", line 153, in
main()
File "tools/train.py", line 64, in main
cfg = Config.fromfile(args.config)
File "/root/miniconda3/envs/obbdetection/lib/python3.7/site-packages/mmcv/utils/config.py", line 332, in fromfile
use_predefined_variables)
File "/root/miniconda3/envs/obbdetection/lib/python3.7/site-packages/mmcv/utils/config.py", line 205, in _file2dict
Config._validate_py_syntax(filename)
File "/root/miniconda3/envs/obbdetection/lib/python3.7/site-packages/mmcv/utils/config.py", line 103, in _validate_py_syntax
raise SyntaxError('There are syntax errors in config '
SyntaxError: There are syntax errors in config file /root/OBBDetection/configs/obb/oriented_rcnn/faster_rcnn_orpn_swin_fpn_3x_hrsc.py: invalid syntax (, line 80)
Exception ignored in: <function _TemporaryFileCloser.del at 0x7f7604d4aef0>
Traceback (most recent call last):
File "/root/miniconda3/envs/obbdetection/lib/python3.7/tempfile.py", line 448, in del
self.close()
File "/root/miniconda3/envs/obbdetection/lib/python3.7/tempfile.py", line 444, in close
unlink(self.name)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmp5luxzbce/tmp2lvn83mu.py'
(obbdetection) root@container-60cd118dac-91f4b7d2:~/OBBDetection#
我把pretrain和optimal等注释掉了,也是不行:
base = [
'../base/datasets/dota.py',
'../base/schedules/schedule_1x.py',
'../../base/default_runtime.py'
]
base = [
'../base/datasets/hrsc.py',
'../base/schedules/schedule_3x.py',
'../../base/default_runtime.py'
]
model = dict(
type='OrientedRCNN',
backbone=dict(
type='SwinTransformer',
embed_dims=96,
depths=[2, 2, 6, 2],
num_heads=[3, 6, 12, 24],
window_size=7,
mlp_ratio=4,
qkv_bias=True,
qk_scale=None,
drop_rate=0.,
attn_drop_rate=0.,
drop_path_rate=0.2,
patch_norm=True,
out_indices=(0, 1, 2, 3),
with_cp=False,
convert_weights=True,
# init_cfg=dict(type='Pretrained', checkpoint='swin_tiny_patch4_window7_224.pth')),
neck=dict(
type='FPN',
in_channels=[96, 192, 384, 768],
out_channels=256,
num_outs=5),
rpn_head=dict(
type='OrientedRPNHead',
in_channels=256,
feat_channels=256,
anchor_generator=dict(
type='AnchorGenerator',
scales=[6],
ratios=[0.5, 1.0, 2.0],
strides=[4, 8, 16, 32, 64]),
bbox_coder=dict(
type='MidpointOffsetCoder',
target_means=[.0, .0, .0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0, 0.5, 0.5]),
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
roi_head=dict(
type='OBBStandardRoIHead',
bbox_roi_extractor=dict(
type='OBBSingleRoIExtractor',
roi_layer=dict(type='RoIAlignRotated', out_size=7, sample_num=2),
out_channels=256,
extend_factor=(1.4, 1.2),
featmap_strides=[4, 8, 16, 32]),
bbox_head=dict(
type='OBBShared2FCBBoxHead',
start_bbox_type='obb',
end_bbox_type='obb',
in_channels=256,
fc_out_channels=1024,
roi_feat_size=7,
num_classes=33,
bbox_coder=dict(
type='OBB2OBBDeltaXYWHTCoder',
target_means=[0., 0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2, 0.1]),
reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0,
loss_weight=1.0))))
model training and testing settings
train_cfg = dict(
rpn=dict(
assigner=dict(
type='MaxIoUAssigner',
pos_iou_thr=0.7,
neg_iou_thr=0.3,
min_pos_iou=0.3,
match_low_quality=True,
gpu_assign_thr=200,
ignore_iof_thr=-1),
sampler=dict(
type='RandomSampler',
num=256,
pos_fraction=0.5,
neg_pos_ub=-1,
add_gt_as_proposals=False),
allowed_border=0,
pos_weight=-1,
debug=False),
rpn_proposal=dict(
nms_across_levels=False,
nms_pre=2000,
nms_post=2000,
max_num=2000,
nms_thr=0.8,
min_bbox_size=0),
rcnn=dict(
assigner=dict(
type='MaxIoUAssigner',
pos_iou_thr=0.5,
neg_iou_thr=0.5,
min_pos_iou=0.5,
match_low_quality=False,
ignore_iof_thr=-1,
iou_calculator=dict(type='OBBOverlaps')),
sampler=dict(
type='OBBRandomSampler',
num=512,
pos_fraction=0.25,
neg_pos_ub=-1,
add_gt_as_proposals=True),
pos_weight=-1,
debug=False))
test_cfg = dict(
rpn=dict(
nms_across_levels=False,
nms_pre=2000,
nms_post=2000,
max_num=2000,
nms_thr=0.8,
min_bbox_size=0),
rcnn=dict(
score_thr=0.005, nms=dict(type='obb_nms', iou_thr=0.1), max_per_img=2000))
optimizer = dict(
delete=True,
type='AdamW',
lr=0.0001,
betas=(0.9, 0.999),
weight_decay=0.05,
paramwise_cfg=dict(
custom_keys={
'absolute_pos_embed': dict(decay_mult=0.),
'relative_position_bias_table': dict(decay_mult=0.),
'norm': dict(decay_mult=0.)
}))
lr_config = dict(warmup_iters=1000, step=[9, 11])
runner = dict(max_epochs=12)
请问这个文件是干什么的?