def test_proposal_ext_ideal_numbers(self, merge_attrs): params = { 'feat_stride': 1, 'base_size': 16, 'min_size': 16, 'ratio': 1, 'scale': 2, 'pre_nms_topn': 6000, 'post_nms_topn': 300, 'nms_thresh': 0.7 } merge_attrs.return_value = {**params} fake_pl = FakeProposalProtoLayer(FakeMultiParam(params)) fake_node = FakeNode(fake_pl, None) fake_node.graph.graph['cmd_params'] = FakeAttr( generate_experimental_IR_V10=False) ProposalFrontExtractor.extract(fake_node) exp_res = { 'type': "Proposal", 'feat_stride': 1, 'base_size': 16, 'min_size': 16, 'ratio': 1, 'scale': 2, 'pre_nms_topn': 6000, 'post_nms_topn': 300, 'nms_thresh': 0.7, 'infer': ProposalOp.proposal_infer } for key in exp_res.keys(): self.assertEqual(fake_node[key], exp_res[key])
def test_proposal_ext_scale(self): params = { 'param_str': "'feat_stride': 16, 'scale': [1,2,3], 'ratio':[5, 6,7]" } fake_pl = FakeProposalPythonProtoLayer(FakeMultiParam(params)) fake_node = FakeNode(fake_pl, None) fake_node.graph.graph['cmd_params'] = FakeAttr( generate_experimental_IR_V10=False) ProposalPythonFrontExtractor.extract(fake_node) exp_res = { 'type': "Proposal", 'feat_stride': 16, 'base_size': 16, 'min_size': 16, 'ratio': [5, 6, 7], 'scale': [1, 2, 3], 'pre_nms_topn': 6000, 'post_nms_topn': 300, 'nms_thresh': 0.7, 'infer': ProposalOp.proposal_infer } for key in exp_res.keys(): self.assertEqual(fake_node[key], exp_res[key])
def test_nms_infer_v10_opset1(self): self.graph.graph['cmd_params'] = FakeAttr(ir_version=10) nms_node = Node(self.graph, 'nms') nms_node['version'] = 'opset1' NonMaxSuppression.infer(nms_node) NonMaxSuppression.type_infer(nms_node) self.assertTrue(np.array_equal(nms_node.out_port(0).data.get_shape(), [100, 3])) self.assertTrue(nms_node.out_port(0).get_data_type() == np.int64)
def test_nms_infer_v7(self): self.graph.graph['cmd_params'] = FakeAttr(generate_experimental_IR_V10=False, ir_version=7) nms_node = Node(self.graph, 'nms') nms_node['version'] = 'opset1' NonMaxSuppression.infer(nms_node) NonMaxSuppression.type_infer(nms_node) self.assertTrue(np.array_equal(nms_node.out_port(0).data.get_shape(), [100, 3])) self.assertTrue(nms_node.out_port(0).get_data_type() == np.int32)
def test_topk_infer_v10_opset1(self): self.graph.graph['cmd_params'] = FakeAttr(ir_version=10) topk_node = Node(self.graph, 'topk') topk_node['version'] = 'opset1' TopK.infer(topk_node) TopK.type_infer(topk_node) self.assertTrue(np.array_equal(topk_node.out_port(0).data.get_shape(), int64_array([20, 10, 4]))) self.assertTrue(np.array_equal(topk_node.out_port(1).data.get_shape(), int64_array([20, 10, 4]))) self.assertTrue(topk_node.out_port(0).get_data_type() == np.float32) self.assertTrue(topk_node.out_port(1).get_data_type() == np.int32)
def test_topk_infer_v10_i32_opset3(self): self.graph.graph['cmd_params'] = FakeAttr( generate_experimental_IR_V10=True, ir_version=10) topk_node = Node(self.graph, 'topk') topk_node['version'] = 'opset3' topk_node['index_element_type'] = np.int32 TopK.infer(topk_node) TopK.type_infer(topk_node) self.assertTrue( np.array_equal( topk_node.out_port(0).data.get_shape(), int64_array([20, 10, 4]))) self.assertTrue( np.array_equal( topk_node.out_port(1).data.get_shape(), int64_array([20, 10, 4]))) self.assertTrue(topk_node.out_port(0).get_data_type() == np.float32) self.assertTrue(topk_node.out_port(1).get_data_type() == np.int32)