示例#1
0
    def test_crop_infer_negative_axis(self):
        graph = build_graph(
            nodes_attributes, [('node_1', 'crop_1'), ('node_2', 'crop_1'),
                               ('crop_1', 'node_3'), ('node_3', 'op_output')],
            {
                'node_3': {
                    'shape': None
                },
                'node_1': {
                    'shape': np.array([1, 2, 500, 500])
                },
                'node_2': {
                    'shape': np.array([1, 2, 256, 256])
                },
                'crop_1': {
                    'axis': -1,
                    'offset': [0, 0],
                    'dim': None
                }
            })

        crop_node = Node(graph, 'crop_1')

        crop_infer(crop_node)
        exp_shape = np.array([1, 2, 500, 256])
        res_shape = graph.node['node_3']['shape']
        for i in range(0, len(exp_shape)):
            self.assertEqual(exp_shape[i], res_shape[i])

        self.assertEqual(crop_node.axis, [3])
        self.assertEqual(crop_node.offset, [0])
        self.assertEqual(crop_node.dim, [256])
示例#2
0
    def test_crop_infer_out_offset(self):
        graph = build_graph(
            nodes_attributes, [('node_1', 'crop_1'), ('node_2', 'crop_1'),
                               ('crop_1', 'node_3'), ('node_3', 'op_output')],
            {
                'node_3': {
                    'shape': None
                },
                'node_1': {
                    'shape': np.array([1, 2, 500, 500])
                },
                'node_2': {
                    'shape': np.array([1, 2, 256, 256])
                },
                'crop_1': {
                    'axis': 2,
                    'offset': [300],
                    'dim': None
                }
            })

        crop_node = Node(graph, 'crop_1')

        crop_infer(crop_node)
        self.assertIsNone(graph.node['node_3']['shape'])