monk_v1 icon indicating copy to clipboard operation
monk_v1 copied to clipboard

ZeroDivisionError: division by zero after running gtf.Evaluate()

Open vidyap-xgboost opened this issue 5 years ago • 2 comments

I ran:

# Run validation
accuracy, class_based_accuracy = gtf.Evaluate();

and got the below result + ZeroDivisionError.

    Result
        class based accuracies
            0. hoodies - 6.952869808679421 %
            1. hoodies-female - 1.8196856906534327 %
            2. longsleeve - 34.255444379046494 %
            3. shirt - 95.48966381290457 %
            4. sweatshirt - 85.657104736491 %
            5. sweatshirt-female - 63.951120162932796 %
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-15-e9c57d0b7fc4> in <module>()
      1 # Run validation
----> 2 accuracy, class_based_accuracy = gtf.Evaluate();

3 frames
/content/monk_v1/monk/gluon/finetune/level_4_evaluation_base.py in set_evaluation_final(self)
     69         for i in range(len(self.system_dict["dataset"]["params"]["classes"])):
     70             self.custom_print("            {}. {} - {} %".format(i, self.system_dict["dataset"]["params"]["classes"][i], 
---> 71                 class_dict[self.system_dict["dataset"]["params"]["classes"][i]]["num_correct"]/class_dict[self.system_dict["dataset"]["params"]["classes"][i]]["num_images"]*100));
     72             class_dict[self.system_dict["dataset"]["params"]["classes"][i]]["accuracy(%)"] = class_dict[self.system_dict["dataset"]["params"]["classes"][i]]["num_correct"]/class_dict[self.system_dict["dataset"]["params"]["classes"][i]]["num_images"]*100;
     73         self.custom_print("        total images:            {}".format(len(self.system_dict["local"]["data_loaders"]["test"])));

ZeroDivisionError: division by zero

What does this error suggest?

vidyap-xgboost avatar Jul 19 '20 07:07 vidyap-xgboost

[UPDATE]

I ran the below code as suggested in #73

gtf.system_dict["dataset"]["params"]["classes"]

and got this result:

['hoodies',
 'hoodies-female',
 'longsleeve',
 'shirt',
 'sweatshirt',
 'sweatshirt-female',
 'zalando']

There is no empty class.

vidyap-xgboost avatar Jul 19 '20 08:07 vidyap-xgboost

Please check if the validation dataset has no examples for either one of the classes.

abhi-kumar avatar Jul 20 '20 03:07 abhi-kumar