Tensorflow Object Detection API 源码分析之 utils/label_map_util.py

Tensorflow Object Detection API 源码分析之 utils/label_map_util.py

protos/string_int_label_map.proto

syntax = "proto2";

package object_detection.protos;

message StringIntLabelMapItem {
  // String name. The most common practice is to set this to a MID or synsets
  // id.
  optional string name = 1;

  // Integer id that maps to the string name above. Label ids should start from
  // 1.
  optional int32 id = 2;

  // Human readable string label.
  optional string display_name = 3;
};

message StringIntLabelMap {
  repeated StringIntLabelMapItem item = 1;
};

utils/label_map_util.py

# 有关 label map 的辅助函数
"""Label map utility functions."""

import logging

import tensorflow as tf
from google.protobuf import text_format
from object_detection.protos import string_int_label_map_pb2


# background默认为0,所以其他的不能为0,否则报错
def _validate_label_map(label_map):
  """Checks if a label map is valid.

  Args:
    label_map: StringIntLabelMap to validate.

  Raises:
    ValueError: if label map is invalid.
  """
  for item in label_map.item:
    if item.id < 0:
      raise ValueError('Label map ids should be >= 0.')
    if (item.id == 0 and item.name != 'background' and
        item.display_name != 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值