Esempio n. 1
0
    def test_model8(self):
        try:
            import onnx
        except:
            unittest.TestCase.skipTest(self, "onnx not found in the libraries")

        if self.data_dir_local is None:
            unittest.TestCase.skipTest(
                self, "DLPY_DATA_DIR_LOCAL is not set in "
                "the environment variables")

        m = onnx.load(os.path.join(self.data_dir_local, 'Simple_CNN1.onnx'))
        model1 = Model.from_onnx_model(self.s,
                                       m,
                                       offsets=[
                                           1,
                                           1,
                                           1,
                                       ],
                                       scale=2,
                                       std='std')
        model1.print_summary()
Esempio n. 2
0
    def test_model30(self):
        # test specifying output layer in Model.from_onnx_model
        try:
            import onnx
        except:
            unittest.TestCase.skipTest(self, "onnx not found in the libraries")

        if self.data_dir_local is None:
            unittest.TestCase.skipTest(self, "DLPY_DATA_DIR_LOCAL is not set in "
                                             "the environment variables")

        m = onnx.load(os.path.join(self.data_dir_local, 'Simple_CNN1.onnx'))
        output_layer = OutputLayer(name='test_output', n=50)
        model1 = Model.from_onnx_model(conn=self.s,
                                       onnx_model=m,
                                       offsets=[1, 1, 1,],
                                       scale=2,
                                       std='std',
                                       output_layer=output_layer)

        self.assertTrue(model1.layers[-1].name == 'test_output')
        self.assertTrue(model1.layers[-1].config['n'] == 50)
Esempio n. 3
0
    def test_imagescaler1(self):
        # test import model with imagescaler
        try:
            import onnx
            from onnx import helper, TensorProto
        except:
            unittest.TestCase.skipTest(self, 'onnx not found')

        if self.data_dir_local is None:
            unittest.TestCase.skipTest(self, 'DLPY_DATA_DIR_LOCAL is not set in '
                                             'the environment variables')

        import numpy as np
        n1 = helper.make_node('ImageScaler',
                              ['X'],
                              ['X1'],
                              bias=[0., 0., 0.],
                              scale=1.)
        n2 = helper.make_node('Conv',
                              inputs=['X1', 'W1'],
                              outputs=['X2'],
                              kernel_shape=[3, 3],
                              pads=[0, 0, 0, 0])
        n3 = helper.make_node('MatMul',
                              inputs=['X2', 'W2'],
                              outputs=['X3'])

        W1 = np.ones((3, 3, 3)).astype(np.float32)
        W2 = np.ones((9, 2)).astype(np.float32)

        graph_def = helper.make_graph(
            [n1, n2, n3],
            name='test',
            inputs=[
                helper.make_tensor_value_info('X',
                                              TensorProto.FLOAT,
                                              [1, 3, 10, 10]),
                helper.make_tensor_value_info('W1',
                                              TensorProto.FLOAT,
                                              [3, 3, 3]),
                helper.make_tensor_value_info('W2',
                                              TensorProto.FLOAT,
                                              [9, 2])],
            outputs=[
                helper.make_tensor_value_info('X3',
                                              TensorProto.FLOAT,
                                              [1, 2])],
            initializer=[
                helper.make_tensor('W1',
                                   TensorProto.FLOAT,
                                   [3, 3, 3],
                                   W1.flatten().astype(np.float32)),
                helper.make_tensor('W2',
                                   TensorProto.FLOAT,
                                   [9, 2],
                                   W2.flatten().astype(np.float32))])
        onnx_model =  helper.make_model(graph_def)

        model1 = Model.from_onnx_model(self.s, onnx_model)

        l1 = model1.layers[0]
        self.assertTrue(l1.type == 'input')
        self.assertTrue(l1.config['offsets'] == [0., 0., 0.])
        self.assertTrue(l1.config['scale'] == 1.)