这个错误是由于在配置文件中,MODEL.VIT.MODEL_KWARGS
的值类型与预期不符导致的。MODEL.VIT.MODEL_KWARGS
应该是一个字典,但在这里它是一个字符串。为了解决这个问题,你需要将MODEL.VIT.MODEL_KWARGS
的值更改为一个字典,如下所示:
MODEL.VIT.MODEL_KWARGS:
- name: 'vit_base'
backbone:
norm_layer: misc_nn_ops.FrozenBatchNorm2d
layer_cfgs: [[-1, 64, 1]]
min_depth: 0
max_depth: 0
in_channels: [8]
out_channels: [128]
num_heads: [1]
num_layers: [12]
use_conv_bias: False
use_bn: True
use_relu: True
use_pred_conv: False
dropout_rate: 0.0
qkv_bias: False
qk_scale: None
fpn_config: None
rpn_config: None
backbone_norm_cfg: None
norm_cfg: None
conv_cfg: None
norm_module: misc_nn_ops.FrozenBatchNorm2d
act_cfg: None
fc_cfg: None
max_size: 768
min_stride: None
max_stride: None
use_separable_conv: False
use_mlp_head: False
use_cbam: False
use_absence_mask: False
use_global_token: False
use5=False
use3=False
use2=False
use1=False
use4=False
use6=False
use7=False
use8=False
IOU_阈值:
- 0.3
- 0.7
损失权重:1.0
NMS阈值:0.7
正例分数:0.5
后NMS测试前K:1000
后NMS训练前K:2000
预NMS测试前K:1000
预NMS训练前K:2000
平滑L1系数:0.0
语义分割头:
通用步长:4
卷积维度:128
忽略值:255
输入特征:
- p2
- p3
- p4
- p5
损失权重:1.0
名称:SemSegFPNHead
归一化方法:GN
类别数量:54
视觉Transformer(ViT):
drop路径率:0.1
图像大小:
- 224
- 224
模型参数:'{}'
名称:dit_base_patch16
输出特征:
- layer3
- layer5
- layer7
- layer11
位置类型:绝对值
权重:https://layoutlm.blob.core.windows.net/dit/dit-fts/icdar19modern_dit-b_cascade.pth
输出目录:./dit/object_detection/Training_Output_base
随机种子:42
求解器:
AMP:
启用:true
Backbone 倍增因子:1.0
基础学习率:5.0e-05
偏置学习率因子:1.0
检查点周期:1000
梯度裁剪:
梯度裁剪类型:全模型
梯度裁剪值:1.0
启用状态:true
归一化类型:2.0
伽马值:0.1
批量大小:1
学习率调度器名称:WarmupCosineLR
最大迭代次数:4000
动量值:0.9
Nesterov策略:false
优化器:ADAMW
参考世界大小:0
步骤:
- 30000
预热因子:0.01
预热迭代次数:1000
预热方法:线性
权重衰减系数:0.05
3条答案
按热度按时间lymgl2op1#
我添加了一些自定义代码来加载配置,如果存在则删除
MODEL.VIT.MODEL_KWARGS
,然后在开始推理/训练之前将其写回磁盘,这解决了我的问题。使用原生的yaml
库可以很快地完成这个操作。mnemlml82#
@ alexjiao-chrono 已经很晚了,但你还有代码片段吗?
pkmbmrz73#
当然,这是我基本上使用的代码: