filaPro / oneformer3d

[CVPR2024] OneFormer3D: One Transformer for Unified Point Cloud Segmentation
Other
299 stars 26 forks source link

After running test.py, all metrics are 0 #19

Closed zqalex closed 7 months ago

zqalex commented 7 months ago

When first testing SCANNET in a docker container:

python tools/fix_spconv_checkpoint.py \

--in-path work_dirs/oneformer3d_1xb4_scannet/epoch_512.pth \

--out-path work_dirs/oneformer3d_1xb4_scannet/epoch_512.pth

python tools/test.py configs/oneformer3d_1xb4_scannet.py \

work_dirs/oneformer3d_1xb4_scannet/epoch_512.pth

All metrics are normal values, such as:

+----------------+---------+---------+--------+-----------+----------+
| classes        | AP_0.25 | AP_0.50 | AP     | Prec_0.50 | Rec_0.50 |
+----------------+---------+---------+--------+-----------+----------+
| cabinet        | 0.8074  | 0.7076  | 0.4931 | 0.7608    | 0.7097   |
| bed            | 0.8543  | 0.7915  | 0.5917 | 0.9545    | 0.7778   |
| chair          | 0.9808  | 0.9588  | 0.8314 | 0.9630    | 0.9342   |
| sofa           | 0.8927  | 0.8257  | 0.5922 | 0.9036    | 0.7732   |
| table          | 0.8929  | 0.8576  | 0.6732 | 0.8435    | 0.8338   |
| door           | 0.8778  | 0.7556  | 0.5602 | 0.8494    | 0.7017   |
| window         | 0.7909  | 0.6378  | 0.4122 | 0.7727    | 0.6028   |
| bookshelf      | 0.8428  | 0.6935  | 0.3606 | 0.7011    | 0.7922   |
| picture        | 0.8500  | 0.7767  | 0.6061 | 0.8554    | 0.7282   |
| counter        | 0.7616  | 0.6551  | 0.4015 | 0.7872    | 0.7255   |
| desk           | 0.8801  | 0.6813  | 0.3956 | 0.7083    | 0.8031   |
| curtain        | 0.8269  | 0.7019  | 0.4447 | 0.8889    | 0.7164   |
| refrigerator   | 0.7252  | 0.6987  | 0.5927 | 0.8182    | 0.6316   |
| showercurtrain | 0.7868  | 0.6851  | 0.5566 | 0.8000    | 0.7143   |
| toilet         | 1.0000  | 1.0000  | 0.9310 | 1.0000    | 1.0000   |
| sink           | 0.9546  | 0.7667  | 0.5976 | 0.8810    | 0.7708   |
| bathtub        | 0.9276  | 0.9032  | 0.8211 | 1.0000    | 0.9032   |
| otherfurniture | 0.7929  | 0.7122  | 0.5597 | 0.8317    | 0.6364   |
+----------------+---------+---------+--------+-----------+----------+
| Overall        | 0.8581  | 0.7672  | 0.5790 | 0.8511    | 0.7642   |
+----------------+---------+---------+--------+-----------+----------+
2024/01/16 09:29:04 - mmengine - INFO - Epoch(test) [312/312]    miou: 0.7584  all_ap: 0.5790  all_ap_50%: 0.7672  all_ap_25%: 0.8581  pq: 0.7024  data_time: 0.0352  time: 0.1041

But after the same command in the conda environment, even though everything worked fine in the train step, all metrics are 0 at test, for example:

+----------------+---------+---------+--------+-----------+----------+
| classes        | AP_0.25 | AP_0.50 | AP     | Prec_0.50 | Rec_0.50 |
+----------------+---------+---------+--------+-----------+----------+
| cabinet        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| bed            | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| chair          | 0.0000  | 0.0000  | 0.0000 | 1.0000    | 0.0000   |
| sofa           | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| table          | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| door           | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| window         | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| bookshelf      | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| picture        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| counter        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| desk           | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| curtain        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| refrigerator   | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| showercurtrain | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| toilet         | 0.0000  | 0.0000  | 0.0000 | 1.0000    | 0.0000   |
| sink           | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| bathtub        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| otherfurniture | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
+----------------+---------+---------+--------+-----------+----------+
| Overall        | 0.0000  | 0.0000  | 0.0000 | 0.1111    | 0.0000   |
+----------------+---------+---------+--------+-----------+----------+
2024/01/21 14:05:01 - mmengine - INFO - Epoch(test) [312/312]    miou: 0.0160  all_ap: 0.0000  all_ap_50%: 0.0000  all_ap_25%: 0.0000  pq: 0.0000  data_time: 0.0289  time: 0.0954

I also tested the model trained in the conda environment in the docker container, but all metrics turned to 0. I wonder why? I just changed num_workers=3 in oneformer3d_1xb4_scannet.py. File structure:

├── custom
│   ├── XXX.XX
├── mmdetection3d-1.1.0
│   ├── XXX.XX
├── oneformer3d-main
│   ├── configs
│   │   ├── instance-only-oneformer3d_1xb2_scannet-and-structured3d.py
│   │   ├── oneformer3d_1xb2_s3dis-area-5.py
│   │   ├── oneformer3d_1xb4_scannet200.py
│   │   └── oneformer3d_1xb4_scannet.py
│   ├── data
│   │   ├── scannet
│   │   │   ├── batch_load_scannet_data.py
│   │   │   ├── instance_mask
│   │   │   ├── load_scannet_data.py
│   │   │   ├── meta_data
│   │   │   ├── points
│   │   │   ├── __pycache__
│   │   │   ├── README.md
│   │   │   ├── scannet_instance_data
│   │   │   ├── scannet_oneformer3d_infos_test.pkl
│   │   │   ├── scannet_oneformer3d_infos_train.pkl
│   │   │   ├── scannet_oneformer3d_infos_val.pkl
│   │   │   ├── scannet_utils.py
│   │   │   ├── scans
│   │   │   ├── scans_test
│   │   │   ├── semantic_mask
│   │   │   └── super_points
│   │   └── structured3d
│   │       ├── data_prepare.py
│   │       ├── README.md
│   │       ├── structured3d_data_utils.py
│   │       ├── unzip.py
│   │       └── utils.py
│   ├── Dockerfile
│   ├── LICENSE
│   ├── oneformer3d
│   │   ├── XXX.XX
│   ├── README.md
│   ├── tools
│   │   ├── create_data.py
│   │   ├── fix_spconv_checkpoint.py
│   │   ├── indoor_converter.py
│   │   ├── scannet_data_utils.py
│   │   ├── test.py
│   │   ├── train.py
│   │   └── update_infos_to_v2.py
│   └── work_dirs
│       ├── oneformer3d_1xb4_scannet
│       │   ├── 20240120_161748
│       │   ├── 20240121_061333
│       │   ├── 20240121_140338
│       │   ├── 20240121_145227
│       │   ├── epoch_497.pth
│       │   ├── epoch_498.pth
│       │   ├── epoch_499.pth
│       │   ├── epoch_500.pth
│       │   ├── epoch_501.pth
│       │   ├── epoch_502.pth
│       │   ├── epoch_503.pth
│       │   ├── epoch_504.pth
│       │   ├── epoch_505.pth
│       │   ├── epoch_506.pth
│       │   ├── epoch_507.pth
│       │   ├── epoch_508.pth
│       │   ├── epoch_509.pth
│       │   ├── epoch_510.pth
│       │   ├── epoch_511.pth
│       │   ├── epoch_512.pth
│       │   ├── last_checkpoint
│       │   └── oneformer3d_1xb4_scannet.py
│       └── tmp
│           └── sstnet_scannet.pth
├── segmentator
│   ├── csrc
│   │   ├── build
│   │   │   ├── CMakeCache.txt
│   │   │   ├── CMakeFiles
│   │   │   ├── cmake_install.cmake
│   │   │   ├── detect_cuda_compute_capabilities.cu
│   │   │   ├── detect_cuda_version.cc
│   │   │   ├── install_manifest.txt
│   │   │   ├── libsegmentator.so
│   │   │   └── Makefile
│   │   ├── CMakeLists.txt
│   │   └── segmentator.cpp
│   ├── __init__.py
│   ├── main.py
│   ├── __pycache__
│   │   ├── __init__.cpython-310.pyc
│   │   ├── main.cpython-310.pyc
│   │   └── utils.cpython-310.pyc
│   ├── README.md
│   ├── test_equivariance.py
│   └── utils.py

log when testing in conda environment:

2024/01/21 14:03:38 - mmengine - INFO - 
------------------------------------------------------------
System environment:
    sys.platform: linux
    Python: 3.10.8 (main, Nov  4 2022, 13:48:29) [GCC 11.2.0]
    CUDA available: True
    numpy_random_seed: 689043358
    GPU 0: NVIDIA GeForce RTX 4090
    CUDA_HOME: /home/../anaconda3/envs/oneformer3dtest
    NVCC: Cuda compilation tools, release 11.6, V11.6.124
    GCC: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
    PyTorch: 1.13.1
    PyTorch compiling details: PyTorch built with:
  - GCC 9.3
  - C++ Version: 201402
  - Intel(R) oneAPI Math Kernel Library Version 2021.4-Product Build 20210904 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v2.6.0 (Git Hash 52b5f107dd9cf10910aaa19cb47f3abf9b349815)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - LAPACK is enabled (usually provided by MKL)
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - CUDA Runtime 11.6
  - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-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_37,code=compute_37
  - CuDNN 8.3.2  (built against CUDA 11.5)
  - Magma 2.6.1
  - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.6, CUDNN_VERSION=8.3.2, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -fabi-version=11 -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_KINETO -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -DEDGE_PROFILER_USE_KINETO -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wunused-local-typedefs -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Werror=cast-function-type -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=1.13.1, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, 

    TorchVision: 0.14.1
    OpenCV: 4.8.1
    MMEngine: 0.10.1

Runtime environment:
    cudnn_benchmark: False
    mp_cfg: {'mp_start_method': 'fork', 'opencv_num_threads': 0}
    dist_cfg: {'backend': 'nccl'}
    seed: 689043358
    Distributed launcher: none
    Distributed training: False
    GPU number: 1
------------------------------------------------------------

2024/01/21 14:03:38 - 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',
    'unlabeled',
]
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 = 'data/scannet/'
dataset_type = 'ScanNetSegDataset_'
default_hooks = dict(
    checkpoint=dict(
        _scope_='mmdet3d',
        interval=1,
        max_keep_ckpts=16,
        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/oneformer3d_1xb4_scannet/epoch_512.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',
    ],
    dataset_name='ScanNet',
    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(
        num_planes=[
            32,
            64,
            96,
            128,
            160,
        ],
        return_blocks=True,
        type='SpConvUNet'),
    criterion=dict(
        inst_criterion=dict(
            fix_dice_loss_weight=True,
            fix_mean_loss=True,
            iter_matcher=True,
            loss_weight=[
                0.5,
                1.0,
                1.0,
                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='InstanceCriterion'),
        num_semantic_classes=20,
        sem_criterion=dict(
            ignore_index=20, loss_weight=0.2, type='ScanNetSemanticCriterion'),
        type='ScanNetUnifiedCriterion'),
    data_preprocessor=dict(type='Det3DDataPreprocessor_'),
    decoder=dict(
        activation_fn='gelu',
        attn_mask=True,
        d_model=256,
        dropout=0.0,
        fix_attention=True,
        hidden_dim=1024,
        in_channels=32,
        iter_pred=True,
        num_heads=8,
        num_instance_classes=18,
        num_instance_queries=0,
        num_layers=6,
        num_semantic_classes=20,
        num_semantic_linears=1,
        num_semantic_queries=0,
        objectness_flag=False,
        type='ScanNetQueryDecoder'),
    in_channels=6,
    min_spatial_shape=128,
    num_channels=32,
    num_classes=18,
    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=600),
    train_cfg=dict(),
    type='ScanNetOneFormer3D',
    voxel_size=0.02)
num_channels = 32
num_instance_classes = 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=512, 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_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='data/scannet/',
        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=[
                            127.5,
                            127.5,
                            127.5,
                        ],
                        type='NormalizePointsColor_'),
                    dict(
                        merge_non_stuff_cls=False,
                        num_classes=20,
                        stuff_classes=[
                            0,
                            1,
                        ],
                        type='AddSuperPointAnnotations'),
                ],
                type='MultiScaleFlipAug3D'),
            dict(keys=[
                'points',
                'sp_pts_mask',
            ], 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',
        ],
        dataset_name='ScanNet',
        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=[
                    127.5,
                    127.5,
                    127.5,
                ],
                type='NormalizePointsColor_'),
            dict(
                merge_non_stuff_cls=False,
                num_classes=20,
                stuff_classes=[
                    0,
                    1,
                ],
                type='AddSuperPointAnnotations'),
        ],
        type='MultiScaleFlipAug3D'),
    dict(keys=[
        'points',
        'sp_pts_mask',
    ], type='Pack3DDetInputs_'),
]
train_cfg = dict(
    dynamic_intervals=[
        (
            1,
            16,
        ),
        (
            496,
            1,
        ),
    ],
    max_epochs=512,
    type='EpochBasedTrainLoop')
train_dataloader = dict(
    batch_size=4,
    dataset=dict(
        _scope_='mmdet3d',
        ann_file='scannet_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='data/scannet/',
        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=[
                    127.5,
                    127.5,
                    127.5,
                ],
                type='NormalizePointsColor_'),
            dict(
                merge_non_stuff_cls=False,
                num_classes=20,
                stuff_classes=[
                    0,
                    1,
                ],
                type='AddSuperPointAnnotations'),
            dict(
                gran=[
                    6,
                    20,
                ],
                mag=[
                    40,
                    160,
                ],
                p=0.5,
                type='ElasticTransfrom',
                voxel_size=0.02),
            dict(
                keys=[
                    'points',
                    'gt_labels_3d',
                    'pts_semantic_mask',
                    'pts_instance_mask',
                    'sp_pts_mask',
                    'gt_sp_masks',
                    'elastic_coords',
                ],
                type='Pack3DDetInputs_'),
        ],
        scene_idxs=None,
        test_mode=False,
        type='ScanNetSegDataset_'),
    num_workers=3,
    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=[
        127.5,
        127.5,
        127.5,
    ], type='NormalizePointsColor_'),
    dict(
        merge_non_stuff_cls=False,
        num_classes=20,
        stuff_classes=[
            0,
            1,
        ],
        type='AddSuperPointAnnotations'),
    dict(
        gran=[
            6,
            20,
        ],
        mag=[
            40,
            160,
        ],
        p=0.5,
        type='ElasticTransfrom',
        voxel_size=0.02),
    dict(
        keys=[
            'points',
            'gt_labels_3d',
            'pts_semantic_mask',
            'pts_instance_mask',
            'sp_pts_mask',
            'gt_sp_masks',
            'elastic_coords',
        ],
        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_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='data/scannet/',
        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=[
                            127.5,
                            127.5,
                            127.5,
                        ],
                        type='NormalizePointsColor_'),
                    dict(
                        merge_non_stuff_cls=False,
                        num_classes=20,
                        stuff_classes=[
                            0,
                            1,
                        ],
                        type='AddSuperPointAnnotations'),
                ],
                type='MultiScaleFlipAug3D'),
            dict(keys=[
                'points',
                'sp_pts_mask',
            ], 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',
        ],
        dataset_name='ScanNet',
        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/oneformer3d_1xb4_scannet'

2024/01/21 14:03:41 - 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.
2024/01/21 14:03:41 - 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                         
 -------------------- 
2024/01/21 14:03:41 - mmengine - WARNING - The prefix is not set in metric class UnifiedSegMetric.
2024/01/21 14:03:42 - mmengine - INFO - Load checkpoint from work_dirs/oneformer3d_1xb4_scannet/epoch_512.pth
2024/01/21 14:03:47 - mmengine - INFO - Epoch(test) [ 50/312]    eta: 0:00:29  time: 0.1111  data_time: 0.0260  memory: 2041  
2024/01/21 14:03:52 - mmengine - INFO - Epoch(test) [100/312]    eta: 0:00:21  time: 0.0876  data_time: 0.0270  memory: 3426  
2024/01/21 14:03:56 - mmengine - INFO - Epoch(test) [150/312]    eta: 0:00:15  time: 0.0845  data_time: 0.0284  memory: 3048  
2024/01/21 14:04:01 - mmengine - INFO - Epoch(test) [200/312]    eta: 0:00:10  time: 0.1020  data_time: 0.0315  memory: 2843  
2024/01/21 14:04:05 - mmengine - INFO - Epoch(test) [250/312]    eta: 0:00:05  time: 0.0908  data_time: 0.0264  memory: 2828  
2024/01/21 14:04:11 - mmengine - INFO - Epoch(test) [300/312]    eta: 0:00:01  time: 0.1006  data_time: 0.0357  memory: 3603  
2024/01/21 14:04:20 - mmengine - INFO - |        |   IoU   |   PQ   |   RQ   |  SQ   |
2024/01/21 14:04:20 - mmengine - INFO - |all     | 0.0022 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |wall    | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |floor   | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |cabinet | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |bed     | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |chair   | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |sofa    | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |table   | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |door    | 0.0446 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |window  | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |ookshelf| 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |picture | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |counter | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |desk    | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |curtain | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |igerator| 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |curtrain| 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |toilet  | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |sink    | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |bathtub | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |urniture| 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - |nlabeled| 0.0000 | 0.0000 | 0.0000 | 0.0000 |
2024/01/21 14:04:20 - mmengine - INFO - True Positive: 
2024/01/21 14:04:20 - mmengine - INFO - 0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0
2024/01/21 14:04:20 - mmengine - INFO - 0   |   0   |   0   |   0   |   0   |   0   |   0   |   312 |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0   |   0
2024/01/21 14:04:20 - mmengine - INFO - 305 |   312 |   372 |   81  |   1368    |   97  |   350 |   467 |   282 |   77  |   222 |   52  |   127 |   67  |   57  |   28  |   58  |   98  |   31  |   530 |   0
2024/01/21 14:04:20 - mmengine - INFO - 
+---------+--------+--------+---------+--------+--------+--------+--------+--------+--------+-----------+---------+---------+--------+---------+--------------+----------------+--------+--------+---------+----------------+-----------+--------+--------+---------+
| classes | wall   | floor  | cabinet | bed    | chair  | sofa   | table  | door   | window | bookshelf | picture | counter | desk   | curtain | refrigerator | showercurtrain | toilet | sink   | bathtub | otherfurniture | unlabeled | miou   | acc    | acc_cls |
+---------+--------+--------+---------+--------+--------+--------+--------+--------+--------+-----------+---------+---------+--------+---------+--------------+----------------+--------+--------+---------+----------------+-----------+--------+--------+---------+
| results | 0.2445 | 0.0429 | 0.0000  | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0330 | 0.0000 | 0.0000    | 0.0000  | 0.0000  | 0.0000 | 0.0000  | 0.0000       | 0.0000         | 0.0000 | 0.0000 | 0.0000  | 0.0000         | nan       | 0.0160 | 0.1624 | 0.0450  |
+---------+--------+--------+---------+--------+--------+--------+--------+--------+--------+-----------+---------+---------+--------+---------+--------------+----------------+--------+--------+---------+----------------+-----------+--------+--------+---------+
 mmengine - INFO - 
+----------------+---------+---------+--------+-----------+----------+
| classes        | AP_0.25 | AP_0.50 | AP     | Prec_0.50 | Rec_0.50 |
+----------------+---------+---------+--------+-----------+----------+
| cabinet        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| bed            | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| chair          | 0.0000  | 0.0000  | 0.0000 | 1.0000    | 0.0000   |
| sofa           | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| table          | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| door           | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| window         | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| bookshelf      | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| picture        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| counter        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| desk           | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| curtain        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| refrigerator   | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| showercurtrain | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| toilet         | 0.0000  | 0.0000  | 0.0000 | 1.0000    | 0.0000   |
| sink           | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| bathtub        | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
| otherfurniture | 0.0000  | 0.0000  | 0.0000 | 0.0000    | 0.0000   |
+----------------+---------+---------+--------+-----------+----------+
| Overall        | 0.0000  | 0.0000  | 0.0000 | 0.1111    | 0.0000   |
+----------------+---------+---------+--------+-----------+----------+
mmengine - INFO - Epoch(test) [312/312]    miou: 0.0160  all_ap: 0.0000  all_ap_50%: 0.0000  all_ap_25%: 0.0000  pq: 0.0000  data_time: 0.0289  time: 0.0954
filaPro commented 7 months ago

May be some package versions are different between docker and conda? E.g. cuda, torch, spconv, mmcv

zqalex commented 7 months ago

May be some package versions are different between docker and conda? E.g. cuda, torch, spconv, mmcv

The conda envirnment is based on the env.yml you shared, and the docker file is from the project code. Actually there are some difference between them, such as MMEngine. But I am not sure, and trying to train and test in the docker container again.

zqalex commented 7 months ago

The difference between conda envirnment and the docker is the reason. But I am not sure what difference caused this problem.

Lizhinwafu commented 3 months ago

Have you solved?