Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

DL-workbench import custom dataset

Alhaddad__Mohamad
839 Views

OpenVino 2019 R3

 

I have run the workbench attached with the mentioned openvino package,

When i am trying to load a dataset in ImageNet format (link to dataset)

 

Whenever the upload (import) reaches 90%, it breaks saying "unrecognized error, list index out of range"

 

 

0 Kudos
5 Replies
JAIVIN_J_Intel
Employee
839 Views

Hi Mohamad,

Please confirm that you have organized the ImageNet dataset as mentioned in the documentation.

Regards,

Jaivin

0 Kudos
Alhaddad__Mohamad
839 Views

Hi again,

Thanks @Jaivin for your informative reply

Ok I have organized it as mentioned and it has worked.

 

Now with my second trial, I am trying to load object detection model + customized dataset (VOC)

 

I have just included the Annotations, JPEGImages in the VOC zipped file.

It imported successfully, however when I go for analysis it says "no images found"

Is it compulsory to add all the VOC representation (not only Annotations  + JPEGImages), I have used CVAT to generate the VOC representation and it just returned the annotations.

 

Can you please enlighten me about it.

 

0 Kudos
Alhaddad__Mohamad
839 Views

Update:

 

I got inside the pascal_voc.py code, 

and found out that the workbench sticks to the exact same dataset and not a custom on 

 

_VOC_CLASSES_DETECTION = (
    'aeroplane', 'bicycle', 'bird', 'boat',
    'bottle', 'bus', 'car', 'cat', 'chair',
    'cow', 'diningtable', 'dog', 'horse',
    'motorbike', 'person', 'pottedplant',
    'sheep', 'sofa', 'train', 'tvmonitor'
)
 

 

I belive i must modify the code inside my docker image to have what i want,

 

I only have one class to be detected which is "plate" vehicle plates.

 

If i'm wrong please correct me.

0 Kudos
JAIVIN_J_Intel
Employee
839 Views

Hi Mohamad,

I'm glad that you were able to load the ImageNet dataset.

Similarly the Pascal VOC dataset should also be organized as mentioned in the documenation.

However, you are right. To modify the application for your specific requirement, you have to modify the code inside the docker image.

Please let us know if it works.

Regards,

Jaivin

0 Kudos
Alhaddad__Mohamad
839 Views

Hi,

 

Thanks for the help, 

 

I have got it to run and compute the inference.

 

However :), when it wants to compute the accuracy it breaks, here is the log:

 

Traceback (most recent call last):
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/main.py", line 19, in <module>
    main()
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/app/run.py", line 34, in main
    app(sys.argv[1:])
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/app/run.py", line 48, in app
    metrics = optimize(config, args.save_model)
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/app/run.py", line 109, in optimize
    compressed_model = pipeline.run(model)
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/compression/pipeline/pipeline.py", line 57, in run
    result = self.collect_statistics_and_run(model, current_algo_seq)
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/compression/pipeline/pipeline.py", line 67, in collect_statistics_and_run
    model = algo.run(model)
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/compression/algorithms/quantization/default/algorithm.py", line 50, in run
    collect_statistics(self._engine, model, [self.algorithms[0]])
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/compression/statistics/collector.py", line 179, in collect_statistics
    stats_collector.compute_statistics(model)
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/compression/statistics/collector.py", line 129, in compute_statistics
    _, stats, _ = self._engine.predict(stats_layout, subset_indices=subset_range)
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/compression/engines/ac_engine.py", line 163, in predict
    stdout_redirect(self._model_evaluator.process_dataset_async, **args)
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/compression/utils/logger.py", line 114, in stdout_redirect
    res = fn(*args, **kwargs)
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/libs/open_model_zoo/tools/accuracy_checker/accuracy_checker/evaluators/quantization_model_evaluator.py", line 146, in process_dataset_async
    batch_raw_predictions, batch_identifiers, batch_meta, self.adapter
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/libs/open_model_zoo/tools/accuracy_checker/accuracy_checker/evaluators/quantization_model_evaluator.py", line 86, in _process_ready_predictions
    return self.adapter.process(batch_raw_predictions, batch_identifiers, batch_meta)
  File "/opt/intel/openvino_2020.1.023/deployment_tools/tools/post_training_optimization_toolkit/libs/open_model_zoo/tools/accuracy_checker/accuracy_checker/adapters/yolo.py", line 158, in process
    classes_prob[cls] = prediction[cls_index]
ValueError: setting an array element with a sequence.

 

0 Kudos
Reply