Open mylittlebuds opened 1 year ago
Hi @mylittlebuds ,
Thanks for trying to deploy the MMYOLO models. There is one thing I would like you to check on this issue. Do you have the data/coco
folder under your MMYOLO directory? According to line#108 in the test.py, a test dataloader is used during the evaluation. Meanwhile, we are still refining the deployment process and document in MMYOLO repo, you are welcome to leave comments and raise new issues there as well!
test.py
aims at evaluating a model on a dataset. Therefore a dataset has to be prepared before.
But if you are interested in testing specific images, you can try the API inference_model
Checklist
Describe the bug
hello my friends: when i run test.py of mmdeploy to test onnx model changed by yolo5s under mmyolo,but a problem confused me, please check trace back as below:
(openmm38) ubuntu@AiotServer02:~/PycharmProjects/MMDeploy/mmengine/mmyolo$ python3 /home/ubuntu/PycharmProjects/MMDeploy/mmengine/MMDeploy/tools/test.py /home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmyolo/configs/deploy/detection_onnxruntime_static.py /home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmyolo/configs/deploy/model/yolov5_s-static.py --model work_dir/end2end.onnx --work-dir work_dir --device cpu 11/17 14:26:35 - mmengine - WARNING - Failed to get codebase, got: 'Cannot get key by value "mmyolo" of <enum \'Codebase\'>'. Then export a new codebase in Codebase MMYOLO: mmyolo 11/17 14:26:36 - mmengine - WARNING - Import mmdeploy.codebase.mmyolo.deploy failedPlease check whether the module is the custom module.No module named 'mmdeploy.codebase.mmyolo' 11/17 14:26:36 - mmengine - WARNING - Import mmdeploy.codebase.mmyolo.deploy failedPlease check whether the module is the custom module.No module named 'mmdeploy.codebase.mmyolo' 11/17 14:26:36 - mmengine - WARNING - Failed to search registry with scope "mmyolo" in the "Codebases" registry tree. As a workaround, the current "Codebases" registry in "mmdeploy" is used to build instance. This may cause unexpected failure when running the built modules. Please check whether "mmyolo" is a correct scope, or whether the registry is initialized. 11/17 14:26:36 - mmengine - WARNING - Import mmdeploy.codebase.mmyolo.deploy failedPlease check whether the module is the custom module.No module named 'mmdeploy.codebase.mmyolo' 11/17 14:26:36 - mmengine - WARNING - Failed to search registry with scope "mmyolo" in the "Codebases" registry tree. As a workaround, the current "Codebases" registry in "mmdeploy" is used to build instance. This may cause unexpected failure when running the built modules. Please check whether "mmyolo" is a correct scope, or whether the registry is initialized. loading annotations into memory... Traceback (most recent call last): File "/home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmengine/registry/build_functions.py", line 121, in build_from_cfg obj = obj_cls(args) # type: ignore File "/home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmyolo/mmyolo/datasets/yolov5_coco.py", line 16, in init super().init(*args, *kwargs) File "/home/ubuntu/anaconda3/envs/openmm38/lib/python3.8/site-packages/mmdet/datasets/base_det_dataset.py", line 33, in init super().init(args, kwargs) File "/home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmengine/dataset/base_dataset.py", line 247, in init self.full_init() File "/home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmyolo/mmyolo/datasets/yolov5_coco.py", line 24, in full_init self.data_list = self.load_data_list() File "/home/ubuntu/anaconda3/envs/openmm38/lib/python3.8/site-packages/mmdet/datasets/coco.py", line 64, in load_data_list self.coco = self.COCOAPI(local_path) File "/home/ubuntu/anaconda3/envs/openmm38/lib/python3.8/site-packages/mmdet/datasets/api_wrappers/coco_api.py", line 25, in init super().init(annotation_file=annotation_file) File "/home/ubuntu/anaconda3/envs/openmm38/lib/python3.8/site-packages/pycocotools/coco.py", line 81, in init with open(annotation_file, 'r') as f: FileNotFoundError: [Errno 2] No such file or directory: 'data/coco/annotations/instances_val2017.json'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/home/ubuntu/PycharmProjects/MMDeploy/mmengine/MMDeploy/tools/test.py", line 156, in
main()
File "/home/ubuntu/PycharmProjects/MMDeploy/mmengine/MMDeploy/tools/test.py", line 120, in main
dataset = task_processor.build_dataset(test_dataloader['dataset'])
File "/home/ubuntu/PycharmProjects/MMDeploy/mmengine/MMDeploy/mmdeploy/codebase/base/task.py", line 147, in build_dataset
dataset = DATASETS.build(dataset_cfg)
File "/home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmengine/registry/registry.py", line 454, in build
return self.build_func(cfg, *args, **kwargs, registry=self)
File "/home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmengine/registry/build_functions.py", line 135, in build_from_cfg
raise type(e)(
FileNotFoundError: class
YOLOv5CocoDataset
in mmyolo/datasets/yolov5_coco.py: [Errno 2] No such file or directory: 'data/coco/annotations/instances_val2017.json'Reproduction
command as below: python3 /home/ubuntu/PycharmProjects/MMDeploy/mmengine/MMDeploy/tools/test.py /home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmyolo/configs/deploy/detection_onnxruntime_static.py /home/ubuntu/PycharmProjects/MMDeploy/mmengine/mmyolo/configs/deploy/model/yolov5_s-static.py --model work_dir/end2end.onnx --work-dir work_dir --device cpu
i have not modified the files.
Environment
Error traceback
No response