File "D:/PythonProject/mmpose/tools/train.py", line 201, in
main()
File "D:/PythonProject/mmpose/tools/train.py", line 190, in main
train_model(
File "D:\PythonProject\mmpose\mmpose\apis\train.py", line 213, in train_model
runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
File "F:\ANACONDA\envs\open-mmlab\lib\site-packages\mmcv\runner\epoch_based_runner.py", line 136, in run
epoch_runner(data_loaders[i], **kwargs)
File "F:\ANACONDA\envs\open-mmlab\lib\site-packages\mmcv\runner\epoch_based_runner.py", line 58, in train
self.call_hook('after_train_epoch')
File "F:\ANACONDA\envs\open-mmlab\lib\site-packages\mmcv\runner\base_runner.py", line 317, in call_hook
getattr(hook, fn_name)(self)
File "F:\ANACONDA\envs\open-mmlab\lib\site-packages\mmcv\runner\hooks\evaluation.py", line 271, in after_train_epoch
self._do_evaluate(runner)
File "F:\ANACONDA\envs\open-mmlab\lib\site-packages\mmcv\runner\hooks\evaluation.py", line 277, in _do_evaluate
key_score = self.evaluate(runner, results)
File "F:\ANACONDA\envs\open-mmlab\lib\site-packages\mmcv\runner\hooks\evaluation.py", line 367, in evaluate
eval_res = self.dataloader.dataset.evaluate(
File "F:\ANACONDA\envs\open-mmlab\lib\site-packages\mmcv\utils\misc.py", line 340, in new_func
output = old_func(*args, **kwargs)
File "D:\PythonProject\mmpose\mmpose\datasets\datasets\mouse2d\mouse2d_dataset.py", line 246, in evaluate
image_id = self.name2id[image_paths[i][len(self.img_prefix):]]
KeyError: '\cam0_00000081_20220423165641.jpg'
Process finished with exit code 1
在模型训练过程中报错,是因为什么呢
这个可能是因为 Windows 上文件路径有两个 \\
,导致获取到的文件名有误。可以将这一行改成:
image_id = self.name2id[image_paths[i][len(self.img_prefix+1):]]
试试
我们之后也想一下这个case,怎么处理更好一点:)