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 [ ('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 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 [ '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', ('normalize', lambda node: bool_to_str(node, 'normalize')), ('clip_after_nms', lambda node: bool_to_str(node, 'clip_after_nms')), ('clip_before_nms', lambda node: bool_to_str(node, 'clip_before_nms')), ]
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'))]