class_docstr: A mixin providing task fields access functionality 
class_docstr_tok: ["A","mixin","providing","task","fields","access","functionality"]
docstr: number of classes based on the task's labels 
docstr_tok: ["number","of","classes","based","on","the","task","'s","labels"]
code: def get_num_of_classes(self):
      """number of classes based on the task's labels"""
      model_labels = self.data.execution.model_labels
      expected_num_of_classes = 0
      for labels, index in model_labels.items():
          expected_num_of_classes += 1 if int(index) > 0 else 0
      num_of_classes = int(max(model_labels.values()))
      if num_of_classes != expected_num_of_classes:
          self.log.warning(
              "The highest label index is %d, while there are %d non-bg labels"
              % (num_of_classes, expected_num_of_classes)
          )
      return num_of_classes + 1
  
file_path: clearml/clearml/backend_interface/task/access.py
imports: import itertools
  import operator
  from abc import abstractproperty
  import six
  from pathlib2 import Path
label_desc: Use image node_id 8 for calling the AccessMixin obj's underlying member method code with example usage: obj.get_num_of_classes() and returns: unknown