open-mmlab / mmpose

OpenMMLab Pose Estimation Toolbox and Benchmark.
https://mmpose.readthedocs.io/en/latest/
Apache License 2.0
5.65k stars 1.22k forks source link

IndexError: index 26 is out of bounds for axis 1 with size 6 #3055

Open 690696306 opened 4 months ago

690696306 commented 4 months ago

Prerequisite

Environment

When I train custom datasets,I got this error. For now ,I don't know what cause this problem.

Reproduces the problem - code sample

My config file

_base_ = ['/home/lab/Anaconda_project/mmpose/configs/_base_/default_runtime.py']

# runtime
max_epochs = 20
stage2_num_epochs = 30
base_lr = 4e-3

train_cfg = dict(max_epochs=max_epochs, val_interval=10)
randomness = dict(seed=21)

# optimizer
optim_wrapper = dict(
    type='OptimWrapper',
    optimizer=dict(type='AdamW', lr=base_lr, weight_decay=0.05),
    paramwise_cfg=dict(
        norm_decay_mult=0, bias_decay_mult=0, bypass_duplicate=True))

# learning rate
param_scheduler = [
    dict(
        type='LinearLR',
        start_factor=1.0e-5,
        by_epoch=False,
        begin=0,
        end=1000),
    dict(
        type='CosineAnnealingLR',
        eta_min=base_lr * 0.05,
        begin=max_epochs // 2,
        end=max_epochs,
        T_max=max_epochs // 2,
        by_epoch=True,
        convert_to_iter_based=True),
]

# automatically scaling LR based on the actual training batch size
auto_scale_lr = dict(base_batch_size=512)

# codec settings
codec = dict(
    type='SimCCLabel',
    input_size=(288, 384),
    sigma=(6., 6.93),
    simcc_split_ratio=2.0,
    normalize=False,
    use_dark=False)

# model settings
model = dict(
    type='TopdownPoseEstimator',
    data_preprocessor=dict(
        type='PoseDataPreprocessor',
        mean=[123.675, 116.28, 103.53],
        std=[58.395, 57.12, 57.375],
        bgr_to_rgb=True),
    backbone=dict(
        _scope_='mmdet',
        type='CSPNeXt',
        arch='P5',
        expand_ratio=0.5,
        deepen_factor=1.,
        widen_factor=1.,
        out_indices=(4, ),
        channel_attention=True,
        norm_cfg=dict(type='SyncBN'),
        act_cfg=dict(type='SiLU'),
        init_cfg=dict(
            type='Pretrained',
            prefix='backbone.',
            #checkpoint='https://download.openmmlab.com/mmpose/v1/projects/'
            #'rtmposev1/cspnext-l_udp-aic-coco_210e-256x192-273b7631_20230130.pth'
            checkpoint='/home/lab/Anaconda_project/RTMPose/pre_trained_weights/rtmpose-l_simcc-coco-wholebody_pt-aic-coco_270e-384x288-eaeb96c8_20230125.pth'  # noqa: E501
        )),
    head=dict(
        type='RTMCCHead',
        in_channels=1024,
        out_channels=48,
        input_size=codec['input_size'],
        in_featuremap_size=tuple([s // 32 for s in codec['input_size']]),
        simcc_split_ratio=codec['simcc_split_ratio'],
        final_layer_kernel_size=7,
        gau_cfg=dict(
            hidden_dims=256,
            s=128,
            expansion_factor=2,
            dropout_rate=0.,
            drop_path=0.,
            act_fn='SiLU',
            use_rel_bias=False,
            pos_enc=False),
        loss=dict(
            type='KLDiscretLoss',
            use_target_weight=True,
            beta=10.,
            label_softmax=True),
        decoder=codec),
    test_cfg=dict(flip_test=True, ))

# base dataset settings
dataset_type = 'customdataset'
#data_mode = 'topdown'
data_root = '/home/lab/coco-annotator/datasets/'

backend_args = dict(backend='local')
# backend_args = dict(
#     backend='petrel',
#     path_mapping=dict({
#         f'{data_root}': 's3://openmmlab/datasets/detection/coco/',
#         f'{data_root}': 's3://openmmlab/datasets/detection/coco/'
#     }))

# pipelines
train_pipeline = [
    dict(type='LoadImage', backend_args=backend_args),
    dict(type='GetBBoxCenterScale'),
    dict(type='RandomFlip', direction='horizontal'),
    dict(type='RandomHalfBody'),
    dict(
        type='RandomBBoxTransform', scale_factor=[0.6, 1.4], rotate_factor=80),
    dict(type='TopdownAffine', input_size=codec['input_size']),
    dict(type='mmdet.YOLOXHSVRandomAug'),
    dict(
        type='Albumentation',
        transforms=[
            dict(type='Blur', p=0.1),
            dict(type='MedianBlur', p=0.1),
            dict(
                type='CoarseDropout',
                max_holes=1,
                max_height=0.4,
                max_width=0.4,
                min_holes=1,
                min_height=0.2,
                min_width=0.2,
                p=1.0),
        ]),
    dict(type='GenerateTarget', encoder=codec),
    dict(type='PackPoseInputs')
]
val_pipeline = [
    dict(type='LoadImage', backend_args=backend_args),
    dict(type='GetBBoxCenterScale'),
    dict(type='TopdownAffine', input_size=codec['input_size']),
    dict(type='PackPoseInputs')
]

train_pipeline_stage2 = [
    dict(type='LoadImage', backend_args=backend_args),
    dict(type='GetBBoxCenterScale'),
    dict(type='RandomFlip', direction='horizontal'),
    dict(type='RandomHalfBody'),
    dict(
        type='RandomBBoxTransform',
        shift_factor=0.,
        scale_factor=[0.75, 1.25],
        rotate_factor=60),
    dict(type='TopdownAffine', input_size=codec['input_size']),
    dict(type='mmdet.YOLOXHSVRandomAug'),
    dict(
        type='Albumentation',
        transforms=[
            dict(type='Blur', p=0.1),
            dict(type='MedianBlur', p=0.1),
            dict(
                type='CoarseDropout',
                max_holes=1,
                max_height=0.4,
                max_width=0.4,
                min_holes=1,
                min_height=0.2,
                min_width=0.2,
                p=0.5),
        ]),
    dict(type='GenerateTarget', encoder=codec),
    dict(type='PackPoseInputs')
]

# data loaders
train_dataloader = dict(
    batch_size=8,
    num_workers=10,
    persistent_workers=True,
    sampler=dict(type='DefaultSampler', shuffle=True),
    dataset=dict(
        type=dataset_type,
        data_root=data_root,
        #data_mode=data_mode,
        ann_file='body_hand_annotation/body_hand_re.json',
        data_prefix=dict(img='body_hand/'),
        pipeline=train_pipeline,
        metainfo=dict(from_file='/home/lab/Anaconda_project/RTMPose/body_hand/body_hand_joint_config/body_hand_joint_config.py'),
    ))
val_dataloader = dict(
    batch_size=8,
    num_workers=10,
    persistent_workers=True,
    drop_last=False,
    sampler=dict(type='DefaultSampler', shuffle=False, round_up=False),
    dataset=dict(
        type=dataset_type,
        data_root=data_root,
        #data_mode=data_mode,
        ann_file='body_hand_annotation/body_hand_val_re.json',
        data_prefix=dict(img='body_hand_val/'),
        test_mode=False,
        #bbox_file='/home/lab/Anaconda_project/RTMPose/data/person_detection_results/'
        #'COCO_val2017_detections_AP_H_56_person.json',
        pipeline=val_pipeline,
        metainfo=dict(from_file='/home/lab/Anaconda_project/RTMPose/body_hand/body_hand_joint_config/body_hand_joint_config.py'),
    ))

test_dataloader = val_dataloader

# hooks
default_hooks = dict(
    checkpoint=dict(
        save_best='coco-body27/AP', rule='greater', max_keep_ckpts=1))

custom_hooks = [
    dict(
        type='EMAHook',
        ema_type='ExpMomentumEMA',
        momentum=0.0002,
        update_buffers=True,
        priority=49),
    dict(
        type='mmdet.PipelineSwitchHook',
        switch_epoch=max_epochs - stage2_num_epochs,
        switch_pipeline=train_pipeline_stage2)
]

# evaluators
#val_evaluator = dict(
    #type='CocoMetric',
    #ann_file=data_root + 'double_arm_anotation/double_arm_keypoints_val.json'
    #)

val_evaluator = [
    dict(type='PCKAccuracy', thr=0.2),
    dict(type='AUC'),
    dict(type='EPE'),
]

test_evaluator = val_evaluator

Reproduces the problem - command or script

My custom dataset


from mmpose.registry import DATASETS
import os.path as osp
from ..base import BaseCocoStyleDataset
import copy
import os.path as osp
from typing import Optional

import numpy as np

@DATASETS.register_module(name='customdataset')
class customdataset(BaseCocoStyleDataset):

    METAINFO: dict = dict(from_file='/home/lab/Anaconda_project/RTMPose/body_hand/body_hand_joint_config/body_hand_joint_config.py')
dataset_info = dict(
    dataset_name='customdataset',
    paper_info=dict(
        author='Lin, Tsung-Yi and Maire, Michael and '
        'Belongie, Serge and Hays, James and '
        'Perona, Pietro and Ramanan, Deva and '
        r'Doll{\'a}r, Piotr and Zitnick, C Lawrence',
        title='Microsoft coco: Common objects in context',
        container='European conference on computer vision',
        year='2014',
        homepage='http://cocodataset.org/',
    ),
    keypoint_info={

        0:
        dict(name='left_shoulder', id=0, color=[0, 255, 0], type='', swap='right_shoulder'),
        1:
        dict(name='right_shoulder', id=1, color=[0, 255, 0], type='', swap='left_shoulder'),

        2:
        dict(name='left_elbow', id=2, color=[255, 128, 0], type='', swap='right_elbow'),
        3:
        dict(name='right_elbow', id=3, color=[255, 128, 0], type='', swap='left_elbow'),

        4:
        dict(name='left_wrist', id=4, color=[0, 255, 0], type='', swap='right_wrist'),
        5:
        dict(name='right_wrist', id=5, color=[0, 255, 0], type='', swap='left_wrist'),

        6:
        dict(name='left_thumb1',id=6, color=[255, 255, 255], type='', swap='right_thumb1'),
        7:
        dict(name='left_thumb2',id=7, color=[255, 255, 255], type='', swap='right_thumb2'),
        8:
        dict(name='left_thumb3',id=8, color=[255, 255, 255], type='', swap='right_thumb3'),
        9:
        dict(name='left_thumb4',id=9, color=[255, 255, 255], type='', swap='right_thumb4'),

        10:
        dict(name='left_forefinger1',id=10, color=[255, 153, 255], type='', swap='right_forefinger1'),
        11:
        dict(name='left_forefinger2',id=11, color=[255, 153, 255], type='', swap='right_forefinger2'),
        12:
        dict(name='left_forefinger3',id=12, color=[255, 153, 255], type='', swap='right_forefinger3'),
        13:
        dict(name='left_forefinger4',id=13, color=[255, 153, 255], type='', swap='right_forefinger4'),

        14:
        dict(name='left_middle_finger1',id=14, color=[102, 178, 255], type='', swap='right_middle_finger1'),
        15:
        dict(name='left_middle_finger2',id=15, color=[102, 178, 255], type='', swap='right_middle_finger2'),
        16:
        dict(name='left_middle_finger3',id=16, color=[102, 178, 255], type='', swap='right_middle_finger3'),
        17:
        dict(name='left_middle_finger4',id=17, color=[102, 178, 255], type='', swap='right_middle_finger4'),

        18:
        dict(name='left_ring_finger1',id=18, color=[255, 51, 51], type='', swap='right_ring_finger1'),        
        19:
        dict(name='left_ring_finger2',id=19, color=[255, 51, 51], type='', swap='right_ring_finger2'),      
        20:
        dict(name='left_ring_finger3',id=20, color=[255, 51, 51], type='', swap='right_ring_finger3'),      
        21:
        dict(name='left_ring_finger4',id=21, color=[255, 51, 51], type='', swap='right_ring_finger4'),      

        22:
        dict(name='left_pinky_finger1',id=22, color=[0, 255, 0], type='', swap='right_pinky_finger1'),    
        23:
        dict(name='left_pinky_finger2',id=23, color=[0, 255, 0], type='', swap='right_pinky_finger2'),    
        24:
        dict(name='left_pinky_finger3',id=24, color=[0, 255, 0], type='', swap='right_pinky_finger3'),    
        25:
        dict(name='left_pinky_finger4',id=25, color=[0, 255, 0], type='', swap='right_pinky_finger4'),    

        26:
        dict(name='right_thumb1',id=26, color=[255, 128, 0], type='', swap='left_thumb1'),
        27:
        dict(name='right_thumb2',id=27, color=[255, 128, 0], type='', swap='left_thumb2'),
        28:
        dict(name='right_thumb3',id=28, color=[255, 128, 0], type='', swap='left_thumb3'),
        29:
        dict(name='right_thumb4',id=29, color=[255, 128, 0], type='', swap='left_thumb4'),

        30:
        dict(name='right_forefinger1',id=30, color=[255, 153, 255], type='', swap='left_forefinger1'),
        31:
        dict(name='right_forefinger2',id=31, color=[255, 153, 255], type='', swap='left_forefinger2'),
        32:
        dict(name='right_forefinger3',id=32, color=[255, 153, 255], type='', swap='left_forefinger3'),
        33:
        dict(name='right_forefinger4',id=33, color=[255, 153, 255], type='', swap='left_forefinger4'),

        34:
        dict(name='right_middle_finger1',id=34, color=[102, 178, 255], type='', swap='left_middle_finger1'),
        35:
        dict(name='right_middle_finger2',id=35, color=[102, 178, 255], type='', swap='left_middle_finger2'),
        36:
        dict(name='right_middle_finger3',id=36, color=[102, 178, 255], type='', swap='left_middle_finger3'),
        37:
        dict(name='right_middle_finger4',id=37, color=[102, 178, 255], type='', swap='left_middle_finger4'),

        38:
        dict(name='right_ring_finger1',id=38, color=[255, 51, 51], type='', swap='left_ring_finger1'),
        39:
        dict(name='right_ring_finger2',id=39, color=[255, 51, 51], type='', swap='left_ring_finger2'),
        40:
        dict(name='right_ring_finger3',id=40, color=[255, 51, 51], type='', swap='left_ring_finger3'),
        41:
        dict(name='right_ring_finger4',id=41, color=[255, 51, 51], type='', swap='left_ring_finger4'),

        42:
        dict(name='right_pinky_finger1',id=42, color=[0, 255, 0], type='', swap='left_pinky_finger1'),
        43:
        dict(name='right_pinky_finger2',id=43, color=[0, 255, 0], type='', swap='left_pinky_finger2'),
        44:
        dict(name='right_pinky_finger3',id=44, color=[0, 255, 0], type='', swap='left_pinky_finger3'),
        45:
        dict(name='right_pinky_finger4',id=45, color=[0, 255, 0], type='', swap='left_pinky_finger4'),

        46:
        dict(name='left_hand_root', id=46, color=[255, 255, 255], type='', swap='right_hand_root'),
        47:
        dict(name='right_hand_root', id=47, color=[255, 255, 255], type='', swap='left_hand_root'),
        },

    skeleton_info={

        0:
        dict(link=('left_shoulder', 'right_shoulder'), id=0, color=[51, 153, 255]),
        1:
        dict(link=('left_shoulder', 'left_elbow'), id=1, color=[0, 255, 0]),
        2:
        dict(link=('left_elbow', 'left_wrist'), id=2, color=[0, 255, 0]),

        3:
        dict(link=('right_shoulder', 'right_elbow'), id=3, color=[0, 255, 0]),
        4:
        dict(link=('right_elbow', 'right_wrist'), id=4, color=[0, 255, 0]),

        5:
        dict(link=('left_hand_root', 'left_thumb1'), id=5, color=[255, 128,0]),
        6:
        dict(link=('left_thumb1', 'left_thumb2'), id=6, color=[255, 128, 0]),
        7:
        dict(link=('left_thumb2', 'left_thumb3'), id=7, color=[255, 128, 0]),
        8:
        dict(link=('left_thumb3', 'left_thumb4'), id=8, color=[255, 128, 0]),

        9:
        dict(link=('left_hand_root', 'left_forefinger1'), id=9, color=[255, 153, 255]),
        10:
        dict(link=('left_forefinger1', 'left_forefinger2'), id=10, color=[255, 153, 255]),
        11:
        dict(link=('left_forefinger2', 'left_forefinger3'), id=11, color=[255, 153, 255]),
        12:
        dict(link=('left_forefinger3', 'left_forefinger4'), id=12, color=[255, 153, 255]),

        13:
        dict(link=('left_hand_root', 'left_middle_finger1'), id=13, color=[102, 178, 255]),
        14:
        dict(link=('left_middle_finger1', 'left_middle_finger2'), id=14, color=[102, 178, 255]),
        15:
        dict(link=('left_middle_finger2', 'left_middle_finger3'), id=15, color=[102, 178, 255]),
        16:
        dict(link=('left_middle_finger3', 'left_middle_finger4'), id=16, color=[102, 178, 255]),

        17:
        dict(link=('left_hand_root', 'left_ring_finger1'), id=17, color=[255, 51, 51]),
        18:
        dict(link=('left_ring_finger1', 'left_ring_finger2'), id=18, color=[255, 51, 51]),
        19:
        dict(link=('left_ring_finger2', 'left_ring_finger3'), id=19, color=[255, 51, 51]),
        20:
        dict(link=('left_ring_finger3', 'left_ring_finger4'), id=20, color=[255, 51, 51]),

        21:
        dict(link=('left_hand_root', 'left_pinky_finger1'), id=21, color=[0, 255, 0]),
        22:
        dict(link=('left_pinky_finger1', 'left_pinky_finger2'), id=22, color=[0, 255, 0]),
        23:
        dict(link=('left_pinky_finger2', 'left_pinky_finger3'), id=23, color=[0, 255, 0]),
        24:
        dict(link=('left_pinky_finger3', 'left_pinky_finger4'), id=24, color=[0, 255, 0]),

        25:
        dict(link=('right_hand_root', 'right_thumb1'), id=25, color=[255, 128, 0]),
        26:
        dict(link=('right_thumb1', 'right_thumb2'), id=26, color=[255, 128, 0]),
        27:
        dict(link=('right_thumb2', 'right_thumb3'), id=27, color=[255, 128, 0]),
        28:
        dict(link=('right_thumb3', 'right_thumb4'), id=28, color=[255, 128, 0]),

        29:
        dict(link=('right_hand_root', 'right_forefinger1'), id=29, color=[255, 153, 255]),
        30:
        dict(link=('right_forefinger1', 'right_forefinger2'), id=30, color=[255, 153, 255]),
        31:
        dict(link=('right_forefinger2', 'right_forefinger3'), id=31, color=[255, 153, 255]),
        32:
        dict(link=('right_forefinger3', 'right_forefinger4'), id=32, color=[255, 153, 255]),

        33:
        dict(link=('right_hand_root', 'right_middle_finger1'), id=33, color=[102, 178, 255]),
        34:
        dict(link=('right_middle_finger1', 'right_middle_finger2'), id=34, color=[102, 178, 255]),
        35:
        dict(link=('right_middle_finger2', 'right_middle_finger3'), id=35, color=[102, 178, 255]),
        36:
        dict(link=('right_middle_finger3', 'right_middle_finger4'), id=36, color=[102, 178, 255]),

        37:
        dict(link=('right_hand_root', 'right_ring_finger1'), id=37, color=[255, 51, 51]),
        38:
        dict(link=('right_ring_finger1', 'right_ring_finger2'), id=38, color=[255, 51, 51]),
        39:
        dict(link=('right_ring_finger2', 'right_ring_finger3'), id=39, color=[255, 51, 51]),
        40:
        dict(link=('right_ring_finger3', 'right_ring_finger4'), id=40, color=[255, 51, 51]),

        41:
        dict(link=('right_hand_root', 'right_pinky_finger1'), id=41, color=[0, 255, 0]),
        42:
        dict(link=('right_pinky_finger1', 'right_pinky_finger2'), id=42, color=[0, 255, 0]),
        43:
        dict(link=('right_pinky_finger2', 'right_pinky_finger3'), id=43, color=[0, 255, 0]),
        44:
        dict(link=('right_pinky_finger3', 'right_pinky_finger4'), id=44, color=[0, 255, 0]),
    },

    joint_weights=[1.] * 48,

    sigmas=[
        0.079, 0.079, 0.072, 0.072, 0.062, 0.062, 0.007, 0.007, 0.008, 0.011, 
        0.008, 0.008, 0.008, 0.01, 0.008, 0.029, 0.022, 0.035, 0.018, 0.024, 
        0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.022, 0.035, 0.037, 0.047, 
        0.026, 0.025, 0.024, 0.035, 0.018, 0.024, 0.022, 0.026,0.017, 0.021, 
        0.021, 0.032, 0.02, 0.019, 0.022, 0.031, 0.029, 0.029]
)

Reproduces the problem - error message

Traceback (most recent call last): File "/home/lab/Anaconda_project/mmpose/tools/train.py", line 162, in main() File "/home/lab/Anaconda_project/mmpose/tools/train.py", line 158, in main runner.train() File "/home/lab/.local/lib/python3.10/site-packages/mmengine/runner/runner.py", line 1777, in train model = self.train_loop.run() # type: ignore File "/home/lab/.local/lib/python3.10/site-packages/mmengine/runner/loops.py", line 96, in run self.run_epoch() File "/home/lab/.local/lib/python3.10/site-packages/mmengine/runner/loops.py", line 112, in run_epoch for idx, data_batch in enumerate(self.dataloader): File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 634, in next data = self._next_data() File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 1346, in _next_data return self._process_data(data) File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 1372, in _process_data data.reraise() File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/torch/_utils.py", line 644, in reraise raise exception IndexError: Caught IndexError in DataLoader worker process 0. Original Traceback (most recent call last): File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/torch/utils/data/_utils/worker.py", line 308, in _worker_loop data = fetcher.fetch(index) File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 51, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 51, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/lab/.local/lib/python3.10/site-packages/mmengine/dataset/base_dataset.py", line 410, in getitem data = self.prepare_data(idx) File "/home/lab/.local/lib/python3.10/site-packages/mmengine/dataset/base_dataset.py", line 115, in wrapper return old_func(obj, *args, **kwargs) File "/home/lab/Anaconda_project/mmpose/mmpose/datasets/datasets/base/base_coco_style_dataset.py", line 170, in prepare_data return self.pipeline(data_info) File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/mmcv/transforms/base.py", line 12, in call return self.transform(results) File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/mmcv/transforms/wrappers.py", line 88, in transform results = t(results) # type: ignore File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/mmcv/transforms/base.py", line 12, in call return self.transform(results) File "/home/lab/Anaconda_project/mmpose/mmpose/datasets/transforms/common_transforms.py", line 239, in transform keypoints, keypoints_visible = flip_keypoints( File "/home/lab/Anaconda_project/mmpose/mmpose/structures/keypoint/transforms.py", line 52, in flip_keypoints keypoints = keypoints.take(flip_indices, axis=ndim - 2) IndexError: index 26 is out of bounds for axis 1 with size 6

Additional information

No response

690696306 commented 4 months ago

I thought it might be the problem with flip_test,so I changed flip_test=False,but still got same error: IndexError: index 26 is out of bounds for axis 1 with size 6

Then I comment RandomFlip line in train_pipeline, I get the error:

Traceback (most recent call last):
  File "/home/lab/Anaconda_project/mmpose/tools/train.py", line 162, in <module>
    main()
  File "/home/lab/Anaconda_project/mmpose/tools/train.py", line 158, in main
    runner.train()
  File "/home/lab/.local/lib/python3.10/site-packages/mmengine/runner/runner.py", line 1777, in train
    model = self.train_loop.run()  # type: ignore
  File "/home/lab/.local/lib/python3.10/site-packages/mmengine/runner/loops.py", line 96, in run
    self.run_epoch()
  File "/home/lab/.local/lib/python3.10/site-packages/mmengine/runner/loops.py", line 113, in run_epoch
    self.run_iter(idx, data_batch)
  File "/home/lab/.local/lib/python3.10/site-packages/mmengine/runner/loops.py", line 129, in run_iter
    outputs = self.runner.model.train_step(
  File "/home/lab/.local/lib/python3.10/site-packages/mmengine/model/base_model/base_model.py", line 114, in train_step
    losses = self._run_forward(data, mode='loss')  # type: ignore
  File "/home/lab/.local/lib/python3.10/site-packages/mmengine/model/base_model/base_model.py", line 361, in _run_forward
    results = self(**data, mode=mode)
  File "/home/lab/anaconda3/envs/py10_cuda118_torch200/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/lab/Anaconda_project/mmpose/mmpose/models/pose_estimators/base.py", line 155, in forward
    return self.loss(inputs, data_samples)
  File "/home/lab/Anaconda_project/mmpose/mmpose/models/pose_estimators/topdown.py", line 74, in loss
    self.head.loss(feats, data_samples, train_cfg=self.train_cfg))
  File "/home/lab/Anaconda_project/mmpose/mmpose/models/heads/coord_cls_heads/rtmcc_head.py", line 258, in loss
    gt_x = torch.cat([
RuntimeError: Sizes of tensors must match except in dimension 0. Expected size 6 but got size 21 for tensor number 2 in the list.
bhoomikaushik-siemens commented 1 month ago

I'm also getting IndexError did you get the solution ??

zhenhao-huang commented 1 month ago

Change the corresponding configuration file, for example ‘configs/base/datasets/coco.py’

bhoomikaushik-siemens commented 1 month ago

Change the corresponding configuration file, for example ‘configs/base/datasets/coco.py’

I did that.

He-ningbo commented 1 month ago

I'm also getting IndexError did you get the solution ??

zhenhao-huang commented 1 month ago

The number of keypoint_info, joint_weights, and sigma needs to be consistent with the number of your keypoints.

bhoomikaushik-siemens commented 1 month ago

The number of keypoint_info, joint_weights, and sigma needs to be consistent with the number of your keypoints.

Yes all the numbers are consistent

bhoomikaushik-siemens commented 4 weeks ago

The number of keypoint_info, joint_weights, and sigma needs to be consistent with the number of your keypoints.

all the numbers are same but getting the error

gch199756 commented 3 weeks ago

I get the same error, did you get the solution ?