def __nice__(self):
    'str: a "nice" summary string describing this assign result'
    parts = []
    parts.append(f'num_gts={self.num_gts!r}')
    if (self.gt_inds is None):
        parts.append(f'gt_inds={self.gt_inds!r}')
    else:
        parts.append(f'gt_inds.shape={tuple(self.gt_inds.shape)!r}')
    if (self.max_overlaps is None):
        parts.append(f'max_overlaps={self.max_overlaps!r}')
    else:
        parts.append(f'max_overlaps.shape={tuple(self.max_overlaps.shape)!r}')
    if (self.labels is None):
        parts.append(f'labels={self.labels!r}')
    else:
        parts.append(f'labels.shape={tuple(self.labels.shape)!r}')
    return ', '.join(parts)
str: a "nice" summary string describing this assign result
def __nice__(self):
    
    parts = []
    parts.append(f'num_gts={self.num_gts!r}')
    if (self.gt_inds is None):
        parts.append(f'gt_inds={self.gt_inds!r}')
    else:
        parts.append(f'gt_inds.shape={tuple(self.gt_inds.shape)!r}')
    if (self.max_overlaps is None):
        parts.append(f'max_overlaps={self.max_overlaps!r}')
    else:
        parts.append(f'max_overlaps.shape={tuple(self.max_overlaps.shape)!r}')
    if (self.labels is None):
        parts.append(f'labels={self.labels!r}')
    else:
        parts.append(f'labels.shape={tuple(self.labels.shape)!r}')
    return ', '.join(parts)