def backend_attrs(self): return [ 'flip', 'clip', 'img_size', 'img_h', 'img_w', 'step', 'step_h', 'step_w', 'offset', ('variance', lambda node: attr_getter(node, 'variance')), ('width', lambda node: attr_getter(node, 'width')), ('height', lambda node: attr_getter(node, 'height')) ]
def backend_attrs(self): return [ 'coords', 'classes', 'num', 'axis', 'end_axis', ('do_softmax', lambda node: bool_to_str(node, 'do_softmax')), ('anchors', lambda node: attr_getter(node, 'anchors')), ('mask', lambda node: attr_getter(node, 'mask')) ]
def backend_attrs(self): return [ 'flip', 'clip', 'step', 'offset', ('min_size', lambda node: attr_getter(node, 'min_size')), ('max_size', lambda node: attr_getter(node, 'max_size')), ('aspect_ratio', lambda node: attr_getter(node, 'aspect_ratio')), ('variance', lambda node: attr_getter(node, 'variance')), ]
def backend_attrs(self): return [ ('clip', lambda node: int(node.clip)), # We need to convert this boolean attribute value to int to keep # forward compatibility with IE 2021.2 'img_h', 'img_w', 'step', 'step_h', 'step_w', 'offset', ('variance', lambda node: attr_getter(node, 'variance')), ('width', lambda node: attr_getter(node, 'width')), ('height', lambda node: attr_getter(node, 'height')) ]
def backend_attrs(self): return [ 'feat_stride', 'base_size', 'min_size', ('ratio', lambda node: attr_getter(node, 'ratio')), ('scale', lambda node: attr_getter(node, 'scale')), 'pre_nms_topn', 'post_nms_topn', 'nms_thresh', 'framework', 'box_coordinate_scale', 'box_size_scale', ]
def test_attr_getter(self): nodes = {'input': {'kind': 'data'}, 'reshape': {'type': 'Reshape', 'kind': 'op'}, 'output': {'kind': 'data'}, 'op_output': {'type': 'Result', 'kind': 'op'}, } input_shape = np.array([1, 125, 13, 13]) params = { 'dim': [1, 1, 2, 3], 'max_size': np.array([3, 2, 1, 0]) } expect_params = { 'dim': "1,1,2,3", 'max_size': "3,2,1,0", } graph = build_graph(nodes, [('input', 'reshape'), ('reshape', 'output'), ('output', 'op_output') ], {'input': {'shape': input_shape}, 'reshape': {**params, 'spatial_dims': [2, 3]}, 'output': {'shape': None}}) pool_1_node = Node(graph, 'reshape') for param in params.keys(): if type(params[param]) is list: self.assertEqual(expect_params[param], attr_getter(pool_1_node, param))
def backend_attrs(self): return [ 'cls_threshold', 'max_num_proposals', 'iou_threshold', 'min_bbox_size', 'feat_stride', 'pre_nms_topn', 'post_nms_topn', ('scale', lambda node: attr_getter(node, 'scale')) ]
def backend_attrs_v2(self): return [ ('stride', lambda node: attr_getter(node, 'stride')), spatial_getter('stride-x', 'stride', 1), spatial_getter('stride-y', 'stride', 0), spatial_getter('kernel-x', 'window', 1), spatial_getter('kernel-y', 'window', 0), spatial_getter('pad-x', 'pad', 1, lambda x: x[0]), spatial_getter('pad-y', 'pad', 0, lambda x: x[0]), ('pool-method', 'pool_method'), ('exclude-pad', 'exclude_pad'), 'rounding_type', 'auto_pad', ]
def backend_attrs(self): return [ 'flip', 'clip', 'step', 'offset', 'scale_all_sizes', ('min_size', lambda node: attr_getter(node, 'min_size')), ('max_size', lambda node: attr_getter(node, 'max_size')), ('aspect_ratio', lambda node: attr_getter(node, 'aspect_ratio')), ('variance', lambda node: attr_getter(node, 'variance')), ('density', lambda node: attr_getter(node, 'density')), ('fixed_size', lambda node: attr_getter(node, 'fixed_size')), ('fixed_ratio', lambda node: attr_getter(node, 'fixed_ratio')), ]
def backend_attrs(self): return [ ('flip', lambda node: int(node.flip)), # We need to convert this boolean attribute value to int to keep # forward compatibility with IE 2021.2 ('clip', lambda node: int(node.clip)), # We need to convert this boolean attribute value to int to keep # forward compatibility with IE 2021.2 'step', 'offset', ('scale_all_sizes', lambda node: bool_to_str(node, 'scale_all_sizes')), ('min_size', lambda node: attr_getter(node, 'min_size')), ('max_size', lambda node: attr_getter(node, 'max_size')), ('aspect_ratio', lambda node: attr_getter(node, 'aspect_ratio')), ('variance', lambda node: attr_getter(node, 'variance')), ('density', lambda node: attr_getter(node, 'density')), ('fixed_size', lambda node: attr_getter(node, 'fixed_size')), ('fixed_ratio', lambda node: attr_getter(node, 'fixed_ratio')), ]
def supported_attrs(self): return [('order', lambda node: attr_getter(node, 'order'))]