easy_vision.python.model.multilabel_classification

easy_vision.python.model.multilabel_classification.multi_label_head

class easy_vision.python.model.multilabel_classification.multi_label_head.MultiLabelHead(feature_dict, head_config, label_dict=None, mode='predict')[source]

Bases: easy_vision.python.model.cv_head.CVHead

__init__(feature_dict, head_config, label_dict=None, mode='predict')[source]
Parameters:
  • feature_dict – must include two parts: 1. backbone output features 2. preprocessed batched image shape(preprocessed_input_shape)
  • head_config – easy_vision.python.estimator.multi_label_head.MultiLabelClassificationHead
  • is_training – train or not(eval/predict)
build_loss_graph()[source]

calculate classification loss

Parameters:
  • NxC tensor, where N is batch num, C is number of classes (self._prediction_dict['prob']) –
  • NxC tensor, one-hot encoding label (self._feature_dict['label']) –
Returns:

a dict of tensor containing different kinds of loss

Return type:

loss_dict

build_postprocess_graph()[source]

for post process of the head it is necessary to separate predict and postprocess because postprocess is not needed during train but needed during test

build_predict_graph()[source]

easy_vision.python.model.multilabel_classification.multilabel_classification_model

class easy_vision.python.model.multilabel_classification.multilabel_classification_model.MultiLabelClassificationModel(model_config, feature_dict, label_dict=None, mode='predict', categories=None)[source]

Bases: easy_vision.python.model.cv_model.CVModel

__init__(model_config, feature_dict, label_dict=None, mode='predict', categories=None)[source]

Init classification model

Parameters:
  • model_config – a protobuf config object
  • feature_dict – a dict of tensor, used as features
  • label_dict – a dict of tensor, used as labels
  • mode – indicats to build a model used in train, evaluate, predict
  • categories – a list of dicts, each dist has two keys id and name
build_loss_graph()[source]
build_metric_graph(eval_config)[source]

add metrics ops to graph :param eval_config: protobufer object, see python/protos/eval.proto.

Returns:metric_dict, a dict of metric_op, each metric_op is a tuple of (update_op, value_op)
build_predict_graph()[source]

build classification network

Parameters:self._prediction_dict['preprocessed_images'] – a tensor of size [batch_size, h, w, c]
Returns:a tensor of size [batch_size, num_classes], the logits self._prediction_dict[‘prob’]: a tensor of size [batch-size, num_classes], the softmax of logits
Return type:self._prediction_dict[‘logits’]
classmethod create_class(name)
get_outputs()[source]

return a list of output key, which can be used to index output tensor result in prediction_dict

get_scopes_of_levels()[source]

return a list of variable scope list order by levels ( outputs -> heads -> backbone -> inputs).