各位大佬,我目前的情况这个初步训练的阶段,运行该命令行出现的日志报错如下:(备注:我现在的一个数据是纯点云数据集,处理的数据也是纯3d的,没有处理多模态的sv类型,当时是做到run这一步之后才发现需要sv,其中对应的pkl文件也是纯3d的,在跑CUDA_VISIBLE_DEVICES=0 python tools/train.py configs/scannet/AutoSeg3D_sv_scannet.py --work-dir work_dirs/AutoSeg3D_sv_scannet/这一步时最初遇到过缺失sv_oneformer3D_info.pkl,就将我生成的pkl做了一个名字处理,最后运行出来就是如下的一个报错日志反应,麻烦大家给一个解决方法)
2026/03/26 03:21:55 - mmengine - INFO -
System environment:
sys.platform: linux
Python: 3.8.20 | packaged by conda-forge | (default, Sep 30 2024, 17:52:49) [GCC 13.3.0]
CUDA available: True
MUSA available: False
numpy_random_seed: 2057819937
GPU 0: NVIDIA GeForce RTX 4090
CUDA_HOME: /usr/local/cuda-12.9
NVCC: Cuda compilation tools, release 12.9, V12.9.86
GCC: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0
PyTorch: 2.4.1
PyTorch compiling details: PyTorch built with:
-
GCC 9.3
-
C++ Version: 201703
-
Intel(R) oneAPI Math Kernel Library Version 2022.1-Product Build 20220311 for Intel(R) 64 architecture applications
-
Intel(R) MKL-DNN v3.4.2 (Git Hash 1137e04ec0b5251ca2b4400a4fd3c667ce843d67)
-
OpenMP 201511 (a.k.a. OpenMP 4.5)
-
LAPACK is enabled (usually provided by MKL)
-
NNPACK is enabled
-
CPU capability usage: AVX512
-
CUDA Runtime 12.4
-
NVCC architecture flags: -gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_90,code=sm_90
-
CuDNN 90.1
-
Magma 2.6.1
-
Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=12.4, CUDNN_VERSION=9.1.0, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=11 -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-stringop-overflow -Wsuggest-override -Wno-psabi -Wno-error=pedantic -Wno-error=old-style-cast -Wno-missing-braces -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=2.4.1, USE_CUDA=ON, USE_CUDNN=ON, USE_CUSPARSELT=1, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_GLOO=ON, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, USE_ROCM_KERNEL_ASSERT=OFF,
TorchVision: 0.20.0
OpenCV: 4.7.0
MMEngine: 0.10.7
Runtime environment:
cudnn_benchmark: False
mp_cfg: {'mp_start_method': 'fork', 'opencv_num_threads': 0}
dist_cfg: {'backend': 'nccl'}
seed: 2057819937
Distributed launcher: none
Distributed training: False
GPU number: 1
2026/03/26 03:21:56 - mmengine - INFO - Config:
backend_args = None
class_names = [
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
]
color_mean = (
121.87247106275309,
109.73306679373762,
95.614771986258,
)
color_std = (
72.27912483750035,
70.2937017925937,
68.89837699573124,
)
custom_hooks = [
dict(after_iter=True, type='EmptyCacheHook'),
]
custom_imports = dict(imports=[
'oneformer3d',
])
data_prefix = dict(
pts='points',
pts_instance_mask='instance_mask',
pts_semantic_mask='semantic_mask',
sp_pts_mask='super_points')
data_root = '/data2/LS/OpenDataLab___ScanNet_v2/raw/'
dataset_type = 'ScanNetSegDataset_'
default_hooks = dict(
checkpoint=dict(
scope='mmdet3d',
interval=1,
max_keep_ckpts=1,
rule='greater',
save_best=[
'all_ap_50%',
],
type='CheckpointHook'),
logger=dict(scope='mmdet3d', interval=50, type='LoggerHook'),
param_scheduler=dict(scope='mmdet3d', type='ParamSchedulerHook'),
sampler_seed=dict(scope='mmdet3d', type='DistSamplerSeedHook'),
timer=dict(scope='mmdet3d', type='IterTimerHook'),
visualization=dict(scope='mmdet3d', type='Det3DVisualizationHook'))
default_scope = 'mmdet3d'
env_cfg = dict(
cudnn_benchmark=False,
dist_cfg=dict(backend='nccl'),
mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0))
eval_pipeline = [
dict(
scope='mmdet3d',
backend_args=None,
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(scope='mmdet3d', color_mean=None, type='NormalizePointsColor'),
dict(scope='mmdet3d', keys=[
'points',
], type='Pack3DDetInputs'),
]
input_modality = dict(use_camera=False, use_lidar=True)
inst_mapping = [
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
]
label2cat = dict({
0: 'wall',
1: 'floor',
10: 'picture',
11: 'counter',
12: 'desk',
13: 'curtain',
14: 'refrigerator',
15: 'showercurtrain',
16: 'toilet',
17: 'sink',
18: 'bathtub',
19: 'otherfurniture',
2: 'cabinet',
20: 'unlabeled',
3: 'bed',
4: 'chair',
5: 'sofa',
6: 'table',
7: 'door',
8: 'window',
9: 'bookshelf'
})
launcher = 'none'
load_from = 'work_dirs/tmp/mask3d_scannet200.pth'
log_level = 'INFO'
log_processor = dict(
scope='mmdet3d', by_epoch=True, type='LogProcessor', window_size=50)
metainfo = dict(
classes=(
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
))
metric_meta = dict(
classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
'unlabeled',
],
ignore_index=[
20,
],
label2cat=dict({
0: 'wall',
1: 'floor',
10: 'picture',
11: 'counter',
12: 'desk',
13: 'curtain',
14: 'refrigerator',
15: 'showercurtrain',
16: 'toilet',
17: 'sink',
18: 'bathtub',
19: 'otherfurniture',
2: 'cabinet',
20: 'unlabeled',
3: 'bed',
4: 'chair',
5: 'sofa',
6: 'table',
7: 'door',
8: 'window',
9: 'bookshelf'
}))
model = dict(
backbone=dict(
config=dict(
bn_momentum=0.02, conv1_kernel_size=5, dilations=[
1,
1,
1,
1,
]),
in_channels=3,
out_channels=96,
type='Res16UNet34C_FF'),
criterion=dict(
inst_criterion=dict(
bbox_loss=dict(type='AxisAlignedIoULoss'),
fix_dice_loss_weight=True,
fix_mean_loss=True,
iter_matcher=True,
loss_weight=[
0.5,
1.0,
1.0,
0.5,
0.5,
],
matcher=dict(
costs=[
dict(type='QueryClassificationCost', weight=0.5),
dict(type='MaskBCECost', weight=1.0),
dict(type='MaskDiceCost', weight=1.0),
],
topk=1,
type='SparseMatcher'),
non_object_weight=0.1,
num_classes=18,
type='MixedInstanceCriterion'),
num_semantic_classes=20,
sem_criterion=dict(
ignore_index=20, loss_weight=0.5, type='ScanNetSemanticCriterion'),
type='ScanNetMixedCriterion'),
data_preprocessor=dict(type='Det3DDataPreprocessor_'),
decoder=dict(
activation_fn='gelu',
attn_mask=True,
cross_attn_mode=[
'',
'SP',
'SP',
'SP',
],
d_model=256,
dropout=0.0,
fix_attention=True,
hidden_dim=1024,
in_channels=96,
iter_pred=True,
mask_pred_mode=[
'SP',
'SP',
'P',
'P',
],
num_heads=8,
num_instance_classes=18,
num_instance_queries=0,
num_layers=3,
num_semantic_classes=20,
num_semantic_linears=1,
num_semantic_queries=0,
objectness_flag=False,
share_attn_mlp=False,
share_mask_mlp=False,
type='ScanNetMixQueryDecoder'),
img_backbone=dict(type='FastSAM_Backbone'),
num_classes=18,
pool=dict(channel_proj=96, type='GeoAwarePooling'),
query_thr=0.5,
test_cfg=dict(
inst_score_thr=0.0,
matrix_nms_kernel='linear',
nms=True,
npoint_thr=100,
obj_normalization=True,
pan_score_thr=0.5,
sp_score_thr=0.4,
stuff_classes=[
0,
1,
],
topk_insts=100),
train_cfg=dict(),
type='ScanNet200MixFormer3D_FF',
voxel_size=0.02)
num_instance_classes = 18
num_instance_classes_eval = 18
num_points = 8192
num_semantic_classes = 20
optim_wrapper = dict(
clip_grad=dict(max_norm=10, norm_type=2),
optimizer=dict(lr=0.0001, type='AdamW', weight_decay=0.05),
type='OptimWrapper')
param_scheduler = dict(begin=0, end=128, power=0.9, type='PolyLR')
resume = False
sem_mapping = [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
]
test_cfg = dict(type='TestLoop')
test_dataloader = dict(
batch_size=1,
dataset=dict(
scope='mmdet3d',
ann_file='scannet_sv_oneformer3d_infos_val.pkl',
backend_args=None,
data_prefix=dict(
pts='points',
pts_instance_mask='instance_mask',
pts_semantic_mask='semantic_mask',
sp_pts_mask='super_points'),
data_root='/data2/LS/OpenDataLab___ScanNet_v2/raw/',
ignore_index=20,
metainfo=dict(classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
]),
modality=dict(use_camera=False, use_lidar=True),
pipeline=[
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip=False,
img_scale=(
1333,
800,
),
pts_scale_ratio=1,
transforms=[
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
],
type='MultiScaleFlipAug3D'),
dict(
dataset_type='scannet',
keys=[
'points',
'sp_pts_mask',
'img_path',
],
type='Pack3DDetInputs_'),
],
test_mode=True,
type='ScanNetSegDataset_'),
drop_last=False,
num_workers=1,
persistent_workers=True,
sampler=dict(scope='mmdet3d', shuffle=False, type='DefaultSampler'))
test_evaluator = dict(
scope='mmdet3d',
id_offset=65536,
inst_mapping=[
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
],
metric_meta=dict(
classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
'unlabeled',
],
ignore_index=[
20,
],
label2cat=dict({
0: 'wall',
1: 'floor',
10: 'picture',
11: 'counter',
12: 'desk',
13: 'curtain',
14: 'refrigerator',
15: 'showercurtrain',
16: 'toilet',
17: 'sink',
18: 'bathtub',
19: 'otherfurniture',
2: 'cabinet',
20: 'unlabeled',
3: 'bed',
4: 'chair',
5: 'sofa',
6: 'table',
7: 'door',
8: 'window',
9: 'bookshelf'
})),
min_num_points=1,
sem_mapping=[
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
],
stuff_class_inds=[
0,
1,
],
thing_class_inds=[
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
],
type='UnifiedSegMetric')
test_pipeline = [
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip=False,
img_scale=(
1333,
800,
),
pts_scale_ratio=1,
transforms=[
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
],
type='MultiScaleFlipAug3D'),
dict(
dataset_type='scannet',
keys=[
'points',
'sp_pts_mask',
'img_path',
],
type='Pack3DDetInputs_'),
]
train_cfg = dict(max_epochs=128, type='EpochBasedTrainLoop', val_interval=16)
train_dataloader = dict(
batch_size=2,
dataset=dict(
scope='mmdet3d',
ann_file='scannet_sv_oneformer3d_infos_train.pkl',
backend_args=None,
data_prefix=dict(
pts='points',
pts_instance_mask='instance_mask',
pts_semantic_mask='semantic_mask',
sp_pts_mask='super_points'),
data_root='/data2/LS/OpenDataLab___ScanNet_v2/raw/',
ignore_index=20,
metainfo=dict(classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
]),
modality=dict(use_camera=False, use_lidar=True),
pipeline=[
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip_ratio_bev_horizontal=0.5,
flip_ratio_bev_vertical=0.5,
sync_2d=False,
type='RandomFlip3D'),
dict(
rot_range=[
-3.14,
3.14,
],
scale_ratio_range=[
0.8,
1.2,
],
shift_height=False,
translation_std=[
0.1,
0.1,
0.1,
],
type='GlobalRotScaleTrans'),
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
dict(
dataset_type='scannet',
keys=[
'points',
'gt_labels_3d',
'pts_semantic_mask',
'pts_instance_mask',
'sp_pts_mask',
'gt_sp_masks',
'elastic_coords',
'img_path',
],
type='Pack3DDetInputs_'),
],
scene_idxs=None,
test_mode=False,
type='ScanNetSegDataset_'),
num_workers=2,
persistent_workers=True,
sampler=dict(scope='mmdet3d', shuffle=True, type='DefaultSampler'))
train_pipeline = [
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip_ratio_bev_horizontal=0.5,
flip_ratio_bev_vertical=0.5,
sync_2d=False,
type='RandomFlip3D'),
dict(
rot_range=[
-3.14,
3.14,
],
scale_ratio_range=[
0.8,
1.2,
],
shift_height=False,
translation_std=[
0.1,
0.1,
0.1,
],
type='GlobalRotScaleTrans'),
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
dict(
dataset_type='scannet',
keys=[
'points',
'gt_labels_3d',
'pts_semantic_mask',
'pts_instance_mask',
'sp_pts_mask',
'gt_sp_masks',
'elastic_coords',
'img_path',
],
type='Pack3DDetInputs_'),
]
tta_model = dict(scope='mmdet3d', type='Seg3DTTAModel')
tta_pipeline = [
dict(
scope='mmdet3d',
backend_args=None,
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
scope='mmdet3d',
backend_args=None,
type='LoadAnnotations3D',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=False,
with_seg_3d=True),
dict(scope='mmdet3d', color_mean=None, type='NormalizePointsColor'),
dict(
scope='mmdet3d',
transforms=[
[
dict(
flip_ratio_bev_horizontal=0.0,
flip_ratio_bev_vertical=0.0,
sync_2d=False,
type='RandomFlip3D'),
],
[
dict(keys=[
'points',
], type='Pack3DDetInputs'),
],
],
type='TestTimeAug'),
]
val_cfg = dict(type='ValLoop')
val_dataloader = dict(
batch_size=1,
dataset=dict(
scope='mmdet3d',
ann_file='scannet_sv_oneformer3d_infos_val.pkl',
backend_args=None,
data_prefix=dict(
pts='points',
pts_instance_mask='instance_mask',
pts_semantic_mask='semantic_mask',
sp_pts_mask='super_points'),
data_root='/data2/LS/OpenDataLab___ScanNet_v2/raw/',
ignore_index=20,
metainfo=dict(classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
]),
modality=dict(use_camera=False, use_lidar=True),
pipeline=[
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip=False,
img_scale=(
1333,
800,
),
pts_scale_ratio=1,
transforms=[
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
],
type='MultiScaleFlipAug3D'),
dict(
dataset_type='scannet',
keys=[
'points',
'sp_pts_mask',
'img_path',
],
type='Pack3DDetInputs_'),
],
test_mode=True,
type='ScanNetSegDataset_'),
drop_last=False,
num_workers=1,
persistent_workers=True,
sampler=dict(scope='mmdet3d', shuffle=False, type='DefaultSampler'))
val_evaluator = dict(
scope='mmdet3d',
id_offset=65536,
inst_mapping=[
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
],
metric_meta=dict(
classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
'unlabeled',
],
ignore_index=[
20,
],
label2cat=dict({
0: 'wall',
1: 'floor',
10: 'picture',
11: 'counter',
12: 'desk',
13: 'curtain',
14: 'refrigerator',
15: 'showercurtrain',
16: 'toilet',
17: 'sink',
18: 'bathtub',
19: 'otherfurniture',
2: 'cabinet',
20: 'unlabeled',
3: 'bed',
4: 'chair',
5: 'sofa',
6: 'table',
7: 'door',
8: 'window',
9: 'bookshelf'
})),
min_num_points=1,
sem_mapping=[
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
],
stuff_class_inds=[
0,
1,
],
thing_class_inds=[
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
],
type='UnifiedSegMetric')
vis_backends = [
dict(scope='mmdet3d', type='LocalVisBackend'),
]
visualizer = dict(
scope='mmdet3d',
name='visualizer',
type='Det3DLocalVisualizer',
vis_backends=[
dict(type='LocalVisBackend'),
])
work_dir = 'work_dirs/AutoSeg3D_sv_scannet/'
2026/03/26 03:22:00 - mmengine - INFO - Distributed training is not used, all SyncBatchNorm (SyncBN) layers in the model will be automatically reverted to BatchNormXd layers if they are used.
2026/03/26 03:22:00 - mmengine - INFO - Hooks will be executed in the following order:
before_run:
(VERY_HIGH ) RuntimeInfoHook
(BELOW_NORMAL) LoggerHook
before_train:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(VERY_LOW ) CheckpointHook
before_train_epoch:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(NORMAL ) DistSamplerSeedHook
(NORMAL ) EmptyCacheHook
before_train_iter:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
after_train_iter:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
(LOW ) ParamSchedulerHook
(VERY_LOW ) CheckpointHook
after_train_epoch:
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
(LOW ) ParamSchedulerHook
(VERY_LOW ) CheckpointHook
before_val:
(VERY_HIGH ) RuntimeInfoHook
before_val_epoch:
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
before_val_iter:
(NORMAL ) IterTimerHook
after_val_iter:
(NORMAL ) IterTimerHook
(NORMAL ) Det3DVisualizationHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
after_val_epoch:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
(LOW ) ParamSchedulerHook
(VERY_LOW ) CheckpointHook
after_val:
(VERY_HIGH ) RuntimeInfoHook
after_train:
(VERY_HIGH ) RuntimeInfoHook
(VERY_LOW ) CheckpointHook
before_test:
(VERY_HIGH ) RuntimeInfoHook
before_test_epoch:
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
before_test_iter:
(NORMAL ) IterTimerHook
after_test_iter:
(NORMAL ) IterTimerHook
(NORMAL ) Det3DVisualizationHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
after_test_epoch:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
after_test:
(VERY_HIGH ) RuntimeInfoHook
after_run:
(BELOW_NORMAL) LoggerHook
2026/03/26 03:22:02 - mmengine - WARNING - The prefix is not set in metric class UnifiedSegMetric.
2026/03/26 03:22:05 - mmengine - INFO - Load checkpoint from work_dirs/tmp/mask3d_scannet200.pth
2026/03/26 03:22:05 - mmengine - WARNING - "FileClient" will be deprecated in future. Please use io functions in https://mmengine.readthedocs.io/en/latest/api/fileio.html#file-io
2026/03/26 03:22:05 - mmengine - WARNING - "HardDiskBackend" is the alias of "LocalBackend" and the former will be deprecated in future.
2026/03/26 03:22:05 - mmengine - INFO - Checkpoints will be saved to /data2/LS/AutoSeg3D/work_dirs/AutoSeg3D_sv_scannet.
各位大佬,我目前的情况这个初步训练的阶段,运行该命令行出现的日志报错如下:(备注:我现在的一个数据是纯点云数据集,处理的数据也是纯3d的,没有处理多模态的sv类型,当时是做到run这一步之后才发现需要sv,其中对应的pkl文件也是纯3d的,在跑CUDA_VISIBLE_DEVICES=0 python tools/train.py configs/scannet/AutoSeg3D_sv_scannet.py --work-dir work_dirs/AutoSeg3D_sv_scannet/这一步时最初遇到过缺失sv_oneformer3D_info.pkl,就将我生成的pkl做了一个名字处理,最后运行出来就是如下的一个报错日志反应,麻烦大家给一个解决方法)
2026/03/26 03:21:55 - mmengine - INFO -
System environment:
sys.platform: linux
Python: 3.8.20 | packaged by conda-forge | (default, Sep 30 2024, 17:52:49) [GCC 13.3.0]
CUDA available: True
MUSA available: False
numpy_random_seed: 2057819937
GPU 0: NVIDIA GeForce RTX 4090
CUDA_HOME: /usr/local/cuda-12.9
NVCC: Cuda compilation tools, release 12.9, V12.9.86
GCC: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0
PyTorch: 2.4.1
PyTorch compiling details: PyTorch built with:
GCC 9.3
C++ Version: 201703
Intel(R) oneAPI Math Kernel Library Version 2022.1-Product Build 20220311 for Intel(R) 64 architecture applications
Intel(R) MKL-DNN v3.4.2 (Git Hash 1137e04ec0b5251ca2b4400a4fd3c667ce843d67)
OpenMP 201511 (a.k.a. OpenMP 4.5)
LAPACK is enabled (usually provided by MKL)
NNPACK is enabled
CPU capability usage: AVX512
CUDA Runtime 12.4
NVCC architecture flags: -gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_90,code=sm_90
CuDNN 90.1
Magma 2.6.1
Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=12.4, CUDNN_VERSION=9.1.0, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=11 -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-stringop-overflow -Wsuggest-override -Wno-psabi -Wno-error=pedantic -Wno-error=old-style-cast -Wno-missing-braces -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=2.4.1, USE_CUDA=ON, USE_CUDNN=ON, USE_CUSPARSELT=1, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_GLOO=ON, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, USE_ROCM_KERNEL_ASSERT=OFF,
TorchVision: 0.20.0
OpenCV: 4.7.0
MMEngine: 0.10.7
Runtime environment:
cudnn_benchmark: False
mp_cfg: {'mp_start_method': 'fork', 'opencv_num_threads': 0}
dist_cfg: {'backend': 'nccl'}
seed: 2057819937
Distributed launcher: none
Distributed training: False
GPU number: 1
2026/03/26 03:21:56 - mmengine - INFO - Config:
backend_args = None
class_names = [
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
]
color_mean = (
121.87247106275309,
109.73306679373762,
95.614771986258,
)
color_std = (
72.27912483750035,
70.2937017925937,
68.89837699573124,
)
custom_hooks = [
dict(after_iter=True, type='EmptyCacheHook'),
]
custom_imports = dict(imports=[
'oneformer3d',
])
data_prefix = dict(
pts='points',
pts_instance_mask='instance_mask',
pts_semantic_mask='semantic_mask',
sp_pts_mask='super_points')
data_root = '/data2/LS/OpenDataLab___ScanNet_v2/raw/'
dataset_type = 'ScanNetSegDataset_'
default_hooks = dict(
checkpoint=dict(
scope='mmdet3d',
interval=1,
max_keep_ckpts=1,
rule='greater',
save_best=[
'all_ap_50%',
],
type='CheckpointHook'),
logger=dict(scope='mmdet3d', interval=50, type='LoggerHook'),
param_scheduler=dict(scope='mmdet3d', type='ParamSchedulerHook'),
sampler_seed=dict(scope='mmdet3d', type='DistSamplerSeedHook'),
timer=dict(scope='mmdet3d', type='IterTimerHook'),
visualization=dict(scope='mmdet3d', type='Det3DVisualizationHook'))
default_scope = 'mmdet3d'
env_cfg = dict(
cudnn_benchmark=False,
dist_cfg=dict(backend='nccl'),
mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0))
eval_pipeline = [
dict(
scope='mmdet3d',
backend_args=None,
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(scope='mmdet3d', color_mean=None, type='NormalizePointsColor'),
dict(scope='mmdet3d', keys=[
'points',
], type='Pack3DDetInputs'),
]
input_modality = dict(use_camera=False, use_lidar=True)
inst_mapping = [
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
]
label2cat = dict({
0: 'wall',
1: 'floor',
10: 'picture',
11: 'counter',
12: 'desk',
13: 'curtain',
14: 'refrigerator',
15: 'showercurtrain',
16: 'toilet',
17: 'sink',
18: 'bathtub',
19: 'otherfurniture',
2: 'cabinet',
20: 'unlabeled',
3: 'bed',
4: 'chair',
5: 'sofa',
6: 'table',
7: 'door',
8: 'window',
9: 'bookshelf'
})
launcher = 'none'
load_from = 'work_dirs/tmp/mask3d_scannet200.pth'
log_level = 'INFO'
log_processor = dict(
scope='mmdet3d', by_epoch=True, type='LogProcessor', window_size=50)
metainfo = dict(
classes=(
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
))
metric_meta = dict(
classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
'unlabeled',
],
ignore_index=[
20,
],
label2cat=dict({
0: 'wall',
1: 'floor',
10: 'picture',
11: 'counter',
12: 'desk',
13: 'curtain',
14: 'refrigerator',
15: 'showercurtrain',
16: 'toilet',
17: 'sink',
18: 'bathtub',
19: 'otherfurniture',
2: 'cabinet',
20: 'unlabeled',
3: 'bed',
4: 'chair',
5: 'sofa',
6: 'table',
7: 'door',
8: 'window',
9: 'bookshelf'
}))
model = dict(
backbone=dict(
config=dict(
bn_momentum=0.02, conv1_kernel_size=5, dilations=[
1,
1,
1,
1,
]),
in_channels=3,
out_channels=96,
type='Res16UNet34C_FF'),
criterion=dict(
inst_criterion=dict(
bbox_loss=dict(type='AxisAlignedIoULoss'),
fix_dice_loss_weight=True,
fix_mean_loss=True,
iter_matcher=True,
loss_weight=[
0.5,
1.0,
1.0,
0.5,
0.5,
],
matcher=dict(
costs=[
dict(type='QueryClassificationCost', weight=0.5),
dict(type='MaskBCECost', weight=1.0),
dict(type='MaskDiceCost', weight=1.0),
],
topk=1,
type='SparseMatcher'),
non_object_weight=0.1,
num_classes=18,
type='MixedInstanceCriterion'),
num_semantic_classes=20,
sem_criterion=dict(
ignore_index=20, loss_weight=0.5, type='ScanNetSemanticCriterion'),
type='ScanNetMixedCriterion'),
data_preprocessor=dict(type='Det3DDataPreprocessor_'),
decoder=dict(
activation_fn='gelu',
attn_mask=True,
cross_attn_mode=[
'',
'SP',
'SP',
'SP',
],
d_model=256,
dropout=0.0,
fix_attention=True,
hidden_dim=1024,
in_channels=96,
iter_pred=True,
mask_pred_mode=[
'SP',
'SP',
'P',
'P',
],
num_heads=8,
num_instance_classes=18,
num_instance_queries=0,
num_layers=3,
num_semantic_classes=20,
num_semantic_linears=1,
num_semantic_queries=0,
objectness_flag=False,
share_attn_mlp=False,
share_mask_mlp=False,
type='ScanNetMixQueryDecoder'),
img_backbone=dict(type='FastSAM_Backbone'),
num_classes=18,
pool=dict(channel_proj=96, type='GeoAwarePooling'),
query_thr=0.5,
test_cfg=dict(
inst_score_thr=0.0,
matrix_nms_kernel='linear',
nms=True,
npoint_thr=100,
obj_normalization=True,
pan_score_thr=0.5,
sp_score_thr=0.4,
stuff_classes=[
0,
1,
],
topk_insts=100),
train_cfg=dict(),
type='ScanNet200MixFormer3D_FF',
voxel_size=0.02)
num_instance_classes = 18
num_instance_classes_eval = 18
num_points = 8192
num_semantic_classes = 20
optim_wrapper = dict(
clip_grad=dict(max_norm=10, norm_type=2),
optimizer=dict(lr=0.0001, type='AdamW', weight_decay=0.05),
type='OptimWrapper')
param_scheduler = dict(begin=0, end=128, power=0.9, type='PolyLR')
resume = False
sem_mapping = [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
]
test_cfg = dict(type='TestLoop')
test_dataloader = dict(
batch_size=1,
dataset=dict(
scope='mmdet3d',
ann_file='scannet_sv_oneformer3d_infos_val.pkl',
backend_args=None,
data_prefix=dict(
pts='points',
pts_instance_mask='instance_mask',
pts_semantic_mask='semantic_mask',
sp_pts_mask='super_points'),
data_root='/data2/LS/OpenDataLab___ScanNet_v2/raw/',
ignore_index=20,
metainfo=dict(classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
]),
modality=dict(use_camera=False, use_lidar=True),
pipeline=[
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip=False,
img_scale=(
1333,
800,
),
pts_scale_ratio=1,
transforms=[
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
],
type='MultiScaleFlipAug3D'),
dict(
dataset_type='scannet',
keys=[
'points',
'sp_pts_mask',
'img_path',
],
type='Pack3DDetInputs_'),
],
test_mode=True,
type='ScanNetSegDataset_'),
drop_last=False,
num_workers=1,
persistent_workers=True,
sampler=dict(scope='mmdet3d', shuffle=False, type='DefaultSampler'))
test_evaluator = dict(
scope='mmdet3d',
id_offset=65536,
inst_mapping=[
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
],
metric_meta=dict(
classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
'unlabeled',
],
ignore_index=[
20,
],
label2cat=dict({
0: 'wall',
1: 'floor',
10: 'picture',
11: 'counter',
12: 'desk',
13: 'curtain',
14: 'refrigerator',
15: 'showercurtrain',
16: 'toilet',
17: 'sink',
18: 'bathtub',
19: 'otherfurniture',
2: 'cabinet',
20: 'unlabeled',
3: 'bed',
4: 'chair',
5: 'sofa',
6: 'table',
7: 'door',
8: 'window',
9: 'bookshelf'
})),
min_num_points=1,
sem_mapping=[
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
],
stuff_class_inds=[
0,
1,
],
thing_class_inds=[
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
],
type='UnifiedSegMetric')
test_pipeline = [
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip=False,
img_scale=(
1333,
800,
),
pts_scale_ratio=1,
transforms=[
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
],
type='MultiScaleFlipAug3D'),
dict(
dataset_type='scannet',
keys=[
'points',
'sp_pts_mask',
'img_path',
],
type='Pack3DDetInputs_'),
]
train_cfg = dict(max_epochs=128, type='EpochBasedTrainLoop', val_interval=16)
train_dataloader = dict(
batch_size=2,
dataset=dict(
scope='mmdet3d',
ann_file='scannet_sv_oneformer3d_infos_train.pkl',
backend_args=None,
data_prefix=dict(
pts='points',
pts_instance_mask='instance_mask',
pts_semantic_mask='semantic_mask',
sp_pts_mask='super_points'),
data_root='/data2/LS/OpenDataLab___ScanNet_v2/raw/',
ignore_index=20,
metainfo=dict(classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
]),
modality=dict(use_camera=False, use_lidar=True),
pipeline=[
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip_ratio_bev_horizontal=0.5,
flip_ratio_bev_vertical=0.5,
sync_2d=False,
type='RandomFlip3D'),
dict(
rot_range=[
-3.14,
3.14,
],
scale_ratio_range=[
0.8,
1.2,
],
shift_height=False,
translation_std=[
0.1,
0.1,
0.1,
],
type='GlobalRotScaleTrans'),
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
dict(
dataset_type='scannet',
keys=[
'points',
'gt_labels_3d',
'pts_semantic_mask',
'pts_instance_mask',
'sp_pts_mask',
'gt_sp_masks',
'elastic_coords',
'img_path',
],
type='Pack3DDetInputs_'),
],
scene_idxs=None,
test_mode=False,
type='ScanNetSegDataset_'),
num_workers=2,
persistent_workers=True,
sampler=dict(scope='mmdet3d', shuffle=True, type='DefaultSampler'))
train_pipeline = [
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip_ratio_bev_horizontal=0.5,
flip_ratio_bev_vertical=0.5,
sync_2d=False,
type='RandomFlip3D'),
dict(
rot_range=[
-3.14,
3.14,
],
scale_ratio_range=[
0.8,
1.2,
],
shift_height=False,
translation_std=[
0.1,
0.1,
0.1,
],
type='GlobalRotScaleTrans'),
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
dict(
dataset_type='scannet',
keys=[
'points',
'gt_labels_3d',
'pts_semantic_mask',
'pts_instance_mask',
'sp_pts_mask',
'gt_sp_masks',
'elastic_coords',
'img_path',
],
type='Pack3DDetInputs_'),
]
tta_model = dict(scope='mmdet3d', type='Seg3DTTAModel')
tta_pipeline = [
dict(
scope='mmdet3d',
backend_args=None,
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
scope='mmdet3d',
backend_args=None,
type='LoadAnnotations3D',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=False,
with_seg_3d=True),
dict(scope='mmdet3d', color_mean=None, type='NormalizePointsColor'),
dict(
scope='mmdet3d',
transforms=[
[
dict(
flip_ratio_bev_horizontal=0.0,
flip_ratio_bev_vertical=0.0,
sync_2d=False,
type='RandomFlip3D'),
],
[
dict(keys=[
'points',
], type='Pack3DDetInputs'),
],
],
type='TestTimeAug'),
]
val_cfg = dict(type='ValLoop')
val_dataloader = dict(
batch_size=1,
dataset=dict(
scope='mmdet3d',
ann_file='scannet_sv_oneformer3d_infos_val.pkl',
backend_args=None,
data_prefix=dict(
pts='points',
pts_instance_mask='instance_mask',
pts_semantic_mask='semantic_mask',
sp_pts_mask='super_points'),
data_root='/data2/LS/OpenDataLab___ScanNet_v2/raw/',
ignore_index=20,
metainfo=dict(classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
]),
modality=dict(use_camera=False, use_lidar=True),
pipeline=[
dict(
coord_type='DEPTH',
load_dim=6,
shift_height=False,
type='LoadPointsFromFile',
use_color=True,
use_dim=[
0,
1,
2,
3,
4,
5,
]),
dict(
type='LoadAnnotations3D_',
with_bbox_3d=False,
with_label_3d=False,
with_mask_3d=True,
with_seg_3d=True,
with_sp_mask_3d=True),
dict(type='PointSegClassMapping'),
dict(
flip=False,
img_scale=(
1333,
800,
),
pts_scale_ratio=1,
transforms=[
dict(
color_mean=(
121.87247106275309,
109.73306679373762,
95.614771986258,
),
color_std=(
72.27912483750035,
70.2937017925937,
68.89837699573124,
),
type='NormalizePointsColor_'),
dict(
merge_non_stuff_cls=False,
num_classes=20,
stuff_classes=[
0,
1,
],
type='AddSuperPointAnnotations'),
],
type='MultiScaleFlipAug3D'),
dict(
dataset_type='scannet',
keys=[
'points',
'sp_pts_mask',
'img_path',
],
type='Pack3DDetInputs_'),
],
test_mode=True,
type='ScanNetSegDataset_'),
drop_last=False,
num_workers=1,
persistent_workers=True,
sampler=dict(scope='mmdet3d', shuffle=False, type='DefaultSampler'))
val_evaluator = dict(
scope='mmdet3d',
id_offset=65536,
inst_mapping=[
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
],
metric_meta=dict(
classes=[
'wall',
'floor',
'cabinet',
'bed',
'chair',
'sofa',
'table',
'door',
'window',
'bookshelf',
'picture',
'counter',
'desk',
'curtain',
'refrigerator',
'showercurtrain',
'toilet',
'sink',
'bathtub',
'otherfurniture',
'unlabeled',
],
ignore_index=[
20,
],
label2cat=dict({
0: 'wall',
1: 'floor',
10: 'picture',
11: 'counter',
12: 'desk',
13: 'curtain',
14: 'refrigerator',
15: 'showercurtrain',
16: 'toilet',
17: 'sink',
18: 'bathtub',
19: 'otherfurniture',
2: 'cabinet',
20: 'unlabeled',
3: 'bed',
4: 'chair',
5: 'sofa',
6: 'table',
7: 'door',
8: 'window',
9: 'bookshelf'
})),
min_num_points=1,
sem_mapping=[
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
16,
24,
28,
33,
34,
36,
39,
],
stuff_class_inds=[
0,
1,
],
thing_class_inds=[
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
],
type='UnifiedSegMetric')
vis_backends = [
dict(scope='mmdet3d', type='LocalVisBackend'),
]
visualizer = dict(
scope='mmdet3d',
name='visualizer',
type='Det3DLocalVisualizer',
vis_backends=[
dict(type='LocalVisBackend'),
])
work_dir = 'work_dirs/AutoSeg3D_sv_scannet/'
2026/03/26 03:22:00 - mmengine - INFO - Distributed training is not used, all SyncBatchNorm (SyncBN) layers in the model will be automatically reverted to BatchNormXd layers if they are used.
2026/03/26 03:22:00 - mmengine - INFO - Hooks will be executed in the following order:
before_run:
(VERY_HIGH ) RuntimeInfoHook
(BELOW_NORMAL) LoggerHook
before_train:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(VERY_LOW ) CheckpointHook
before_train_epoch:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(NORMAL ) DistSamplerSeedHook
(NORMAL ) EmptyCacheHook
before_train_iter:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
after_train_iter:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
(LOW ) ParamSchedulerHook
(VERY_LOW ) CheckpointHook
after_train_epoch:
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
(LOW ) ParamSchedulerHook
(VERY_LOW ) CheckpointHook
before_val:
(VERY_HIGH ) RuntimeInfoHook
before_val_epoch:
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
before_val_iter:
(NORMAL ) IterTimerHook
after_val_iter:
(NORMAL ) IterTimerHook
(NORMAL ) Det3DVisualizationHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
after_val_epoch:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
(LOW ) ParamSchedulerHook
(VERY_LOW ) CheckpointHook
after_val:
(VERY_HIGH ) RuntimeInfoHook
after_train:
(VERY_HIGH ) RuntimeInfoHook
(VERY_LOW ) CheckpointHook
before_test:
(VERY_HIGH ) RuntimeInfoHook
before_test_epoch:
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
before_test_iter:
(NORMAL ) IterTimerHook
after_test_iter:
(NORMAL ) IterTimerHook
(NORMAL ) Det3DVisualizationHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
after_test_epoch:
(VERY_HIGH ) RuntimeInfoHook
(NORMAL ) IterTimerHook
(NORMAL ) EmptyCacheHook
(BELOW_NORMAL) LoggerHook
after_test:
(VERY_HIGH ) RuntimeInfoHook
after_run:
(BELOW_NORMAL) LoggerHook
2026/03/26 03:22:02 - mmengine - WARNING - The prefix is not set in metric class UnifiedSegMetric.
2026/03/26 03:22:05 - mmengine - INFO - Load checkpoint from work_dirs/tmp/mask3d_scannet200.pth
2026/03/26 03:22:05 - mmengine - WARNING - "FileClient" will be deprecated in future. Please use io functions in https://mmengine.readthedocs.io/en/latest/api/fileio.html#file-io
2026/03/26 03:22:05 - mmengine - WARNING - "HardDiskBackend" is the alias of "LocalBackend" and the former will be deprecated in future.
2026/03/26 03:22:05 - mmengine - INFO - Checkpoints will be saved to /data2/LS/AutoSeg3D/work_dirs/AutoSeg3D_sv_scannet.