OpenGVLab / UniFormerV2

[ICCV2023] UniFormerV2: Spatiotemporal Learning by Arming Image ViTs with Video UniFormer
https://arxiv.org/abs/2211.09552
Apache License 2.0
282 stars 16 forks source link

AssertionError构建dataloder #64

Open Aaron198513 opened 6 months ago

Aaron198513 commented 6 months ago

有遇到过这个错误嘛,构建数据集的情况

[03/21 10:50:49][INFO] kinetics.py: 78: Constructing Kinetics train... Traceback (most recent call last): File "/home/pc/c_zk/UniFormerV2-main/tools/run_net_multi_node.py", line 69, in main() File "/home/pc/c_zk/UniFormerV2-main/tools/run_net_multi_node.py", line 50, in main launch_job(cfg=cfg, init_method=args.init_method, func=train) File "/home/pc/c_zk/UniFormerV2-main/slowfast/utils/misc.py", line 311, in launch_job func(cfg=cfg) File "/home/pc/c_zk/UniFormerV2-main/tools/train_net.py", line 429, in train train_loader = loader.construct_loader(cfg, "train") File "/home/pc/c_zk/UniFormerV2-main/slowfast/datasets/loader.py", line 112, in construct_loader dataset = build_dataset(dataset_name, cfg, split) File "/home/pc/c_zk/UniFormerV2-main/slowfast/datasets/build.py", line 31, in build_dataset return DATASET_REGISTRY.get(name)(cfg, split) File "/home/pc/c_zk/UniFormerV2-main/slowfast/datasets/kinetics.py", line 79, in init self._construct_loader() File "/home/pc/c_zk/UniFormerV2-main/slowfast/datasets/kinetics.py", line 106, in _construct_loader assert ( AssertionError

这是config.yaml TRAIN: ENABLE: True DATASET: kinetics BATCH_SIZE: 32 EVAL_PERIOD: 1 CHECKPOINT_PERIOD: 5 AUTO_RESUME: True DATA: USE_OFFSET_SAMPLING: True DECODING_BACKEND: decord NUM_FRAMES: 8 SAMPLING_RATE: 16 TRAIN_JITTER_SCALES: [256, 320] TRAIN_CROP_SIZE: 224 TEST_CROP_SIZE: 224 INPUT_CHANNEL_NUM: [3]

PATH_TO_DATA_DIR: path-to-imagenet-dir

PATH_TO_DATA_DIR: /home/pc/c_zk/data/Kinetics-400/raw/k400 PATH_LABEL_SEPARATOR: ' ' PATH_PREFIX: /home/pc/c_zk/data/Kinetics-400/raw/k400 TRAIN_JITTER_SCALES_RELATIVE: [0.08, 1.0] TRAIN_JITTER_ASPECT_RELATIVE: [0.75, 1.3333] UNIFORMERV2: BACKBONE: 'uniformerv2_b16' N_LAYERS: 4 N_DIM: 768 N_HEAD: 12 MLP_FACTOR: 4.0 BACKBONE_DROP_PATH_RATE: 0. DROP_PATH_RATE: 0. MLP_DROPOUT: [0.5, 0.5, 0.5, 0.5] CLS_DROPOUT: 0.5 RETURN_LIST: [8, 9, 10, 11] NO_LMHRA: True TEMPORAL_DOWNSAMPLE: False AUG: NUM_SAMPLE: 1 ENABLE: True COLOR_JITTER: 0.4 AA_TYPE: rand-m7-n4-mstd0.5-inc1 INTERPOLATION: bicubic RE_PROB: 0. RE_MODE: pixel RE_COUNT: 1 RE_SPLIT: False BN: USE_PRECISE_STATS: False NUM_BATCHES_PRECISE: 200 SOLVER: ZERO_WD_1D_PARAM: True BASE_LR_SCALE_NUM_SHARDS: True BASE_LR: 4e-4 COSINE_AFTER_WARMUP: True COSINE_END_LR: 1e-6 WARMUP_START_LR: 1e-6 WARMUP_EPOCHS: 0. LR_POLICY: cosine MAX_EPOCH: 50 MOMENTUM: 0.9 WEIGHT_DECAY: 0.05 OPTIMIZING_METHOD: adamw COSINE_AFTER_WARMUP: True MODEL: NUM_CLASSES: 400 ARCH: uniformerv2 MODEL_NAME: Uniformerv2 LOSS_FUNC: cross_entropy DROPOUT_RATE: 0.5 USE_CHECKPOINT: False CHECKPOINT_NUM: [0] TEST: ENABLE: True DATASET: kinetics BATCH_SIZE: 256 NUM_SPATIAL_CROPS: 1 NUM_ENSEMBLE_VIEWS: 1 DATA_LOADER: NUM_WORKERS: 8 PIN_MEMORY: True TENSORBOARD: ENABLE: False NUM_GPUS: 1 NUM_SHARDS: 1 RNG_SEED: 0 OUTPUT_DIR: .

Andy1621 commented 6 months ago

应该是你的数据分割符不对,可以看看你的数据集的PATH_LABEL_SEPARATOR是什么,如果是,的话修改一下yaml

Aaron198513 commented 6 months ago

PATH_TO_DATA_DIR: /home/pc/c_zk/data/Kinetics-400/raw/k400 PATH_LABEL_SEPARATOR: ',' PATH_PREFIX: /home/pc/c_zk/data/Kinetics-400/raw/k400/videos_train 应该是py文件的问题。对数据集的读取应该修改一下。PATH_PREFIX: /home/pc/c_zk/data/Kinetics-400/raw/k400/videos_train路径改成这样可以训练,应该不可以验证问题。