mmpretrain の構成カテゴリの問題を解決する サブフォルダーの数が指定されたクラスの数と一致しません

mmpretrain の構成カテゴリの問題を解決する

AssertionError: サブフォルダーの数 (2) が、指定されたクラスの数 (1000) と一致しません。データフォルダを確認してください。


具体的なエラー情報は次のとおりです。

Traceback (most recent call last):
File "/home/lzj/ssd2t/01.my\_algo/mmpretrain-main/tools/train.py", line 166, in 
main()
File "/home/lzj/ssd2t/01.my\_algo/mmpretrain-main/tools/train.py", line 162, in main
runner.train()
File "/home/lzj/anaconda3/envs/mmpretrain/lib/python3.10/site-packages/mmengine/runner/runner.py", line 1703, in train
self.\_train\_loop = self.build\_train\_loop(
File "/home/lzj/anaconda3/envs/mmpretrain/lib/python3.10/site-packages/mmengine/runner/runner.py", line 1502, in build\_train\_loop
loop = EpochBasedTrainLoop(
File "/home/lzj/anaconda3/envs/mmpretrain/lib/python3.10/site-packages/mmengine/runner/loops.py", line 44, in **init**
super().**init**(runner, dataloader)
File "/home/lzj/anaconda3/envs/mmpretrain/lib/python3.10/site-packages/mmengine/runner/base\_loop.py", line 26, in **init**
self.dataloader = runner.build\_dataloader(
File "/home/lzj/anaconda3/envs/mmpretrain/lib/python3.10/site-packages/mmengine/runner/runner.py", line 1353, in build\_dataloader
dataset = DATASETS.build(dataset\_cfg)
File "/home/lzj/anaconda3/envs/mmpretrain/lib/python3.10/site-packages/mmengine/registry/registry.py", line 570, in build
return self.build\_func(cfg, \*args, \*\*kwargs, registry=self)
File "/home/lzj/anaconda3/envs/mmpretrain/lib/python3.10/site-packages/mmengine/registry/build\_functions.py", line 121, in build\_from\_cfg
obj = obj\_cls(\*\*args)  # type: ignore
File "/home/lzj/ssd2t/01.my\_algo/mmpretrain-main/mmpretrain/datasets/imagenet.py", line 122, in **init**
super().**init**(
File "/home/lzj/ssd2t/01.my\_algo/mmpretrain-main/mmpretrain/datasets/custom.py", line 219, in **init**
self.full\_init()
File "/home/lzj/ssd2t/01.my\_algo/mmpretrain-main/mmpretrain/datasets/base\_dataset.py", line 178, in full\_init
super().full\_init()
File "/home/lzj/anaconda3/envs/mmpretrain/lib/python3.10/site-packages/mmengine/dataset/base\_dataset.py", line 296, in full\_init
self.data\_list = self.load\_data\_list()
File "/home/lzj/ssd2t/01.my\_algo/mmpretrain-main/mmpretrain/datasets/custom.py", line 264, in load\_data\_list
samples = self.\_find\_samples()
File "/home/lzj/ssd2t/01.my\_algo/mmpretrain-main/mmpretrain/datasets/custom.py", line 234, in \_find\_samples
assert len(self.CLASSES) == len(classes), \
AssertionError: The number of subfolders (2) doesn't match the number of specified classes (1000). Please check the data folder.

構成ファイルを に変更する必要がありますCustomDataset。変更内容data_rootと内容に注意してください。data_prefix

# dataset settings
dataset_type = 'CustomDataset'

train_pipeline = [
    dict(type='LoadImageFromFile'),
    dict(type='RandomResizedCrop', scale=224),
    dict(type='RandomFlip', prob=0.5, direction='horizontal'),
    dict(type='PackInputs'),
]

train_dataloader = dict(
    batch_size=32,
    num_workers=5,
    dataset=dict(
        type=dataset_type,
        data_root='dataset',
        data_prefix='train',
        pipeline=train_pipeline),
    sampler=dict(type='DefaultSampler', shuffle=True),
)

おすすめ

転載: blog.csdn.net/weixin_45921929/article/details/133088965