Beispiel #1
0
    def test_option_type(self):
        input1 = Input(n_channels=1, width=28, height=28)
        conv1 = Conv2d(2)(input1)
        conv2 = Conv2d(2)(input1)
        concat1 = Concat()([conv1, conv2])
        output1 = OutputLayer(n=2)(concat1)
        model1 = Model(conn=self.s, inputs=[input1], outputs=output1)
        model1.compile()
        model1.print_summary()
        self.assertTrue(model1.count_params() == 6314)

        model2 = Model(conn=self.s, inputs=input1, outputs=output1)
        model2.compile()
        model2.print_summary()
        model2.plot_network()
        self.assertTrue(model2.count_params() == 6314)
Beispiel #2
0
    def test_submodel_as_inputs_network(self):
        inputs1 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_1')
        # inputs2 = InputLayer(1, 28, 28, scale = 1.0 / 255, name = 'InputLayer_2')
        dense1 = Dense(10, name='d1')(inputs1)
        dense2 = Dense(12, name='d2')(dense1)
        dense3 = Dense(n=128, name='d3')(dense2)
        model_dense = Model(self.s, inputs=inputs1, outputs=dense3)

        inputs2 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_2')
        # inputs2 = InputLayer(1, 28, 28, scale = 1.0 / 255, name = 'InputLayer_2')
        dense4 = Dense(10, name='d4')(inputs2)
        dense5 = Dense(12, name='d5')(dense4)
        dense6 = Dense(n=128, name='d6')(dense5)
        model_dense2 = Model(self.s, inputs=inputs2, outputs=dense6)

        inputs3 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_3')
        inputs4 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_4')
        out3 = model_dense(inputs3)
        out4 = model_dense2(inputs4)

        out5 = [out4[0], out3[0]]

        concat1 = Dense(20, name='d7')(out5)
        output1 = OutputLayer(n=10, name='OutputLayer_1')(concat1)
        model = Model(self.s, inputs=[inputs3, inputs4], outputs=output1)
        model.compile()
        model.print_summary()
        self.assertTrue(model.count_params() == 62262)
Beispiel #3
0
    def test_submodel_multiple_inputs_network(self):
        inputs1 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_1')
        # inputs2 = InputLayer(1, 28, 28, scale = 1.0 / 255, name = 'InputLayer_2')
        dense1 = Dense(10, name='d1')(inputs1)
        dense2 = Dense(12, name='d2')(dense1)
        dense3 = Dense(n=128, name='d3')(dense2)
        # model_dense = Model(self.s, inputs=inputs1, outputs= dense3)

        inputs2 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_2')
        # inputs2 = InputLayer(1, 28, 28, scale = 1.0 / 255, name = 'InputLayer_2')
        dense4 = Dense(10, name='d4')(inputs2)
        dense5 = Dense(12, name='d5')(dense4)
        dense6 = Dense(n=128, name='d6')(dense5)
        dense7 = Dense(n=190, name='cat1')([dense3, dense6])
        model_dense = Model(self.s,
                            inputs=[inputs1, inputs2],
                            outputs=[dense7])

        input3 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_3')
        input4 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_4')

        out = model_dense([input3, input4])

        dense7 = Dense(20, name='d7')(out)
        output1 = OutputLayer(n=10, name='OutputLayer_1')(dense7)
        model = Model(self.s, inputs=[input3, input4], outputs=output1)
        model.compile()
        model.print_summary()
        self.assertTrue(model.count_params() == 87822)
Beispiel #4
0
 def test_single_src_layer_list_fc(self):
     inputs = Input(1, 28, 28, scale=1.0 / 255, name='InputLayer_1')
     fc1 = Dense(n=128)(inputs)
     fc3 = Dense(n=64)([fc1])
     output1 = OutputLayer(n=10, name='OutputLayer_1')(fc3)
     model = Model(self.s, inputs=inputs, outputs=output1)
     model.compile()
     self.assertTrue(model.count_params() == 109194)
Beispiel #5
0
 def test_without_variable(self):
     input1 = Input(n_channels=1, width=28, height=28)
     conv1 = Conv2d(2)(Conv2d(2)(input1))
     output1 = OutputLayer(n=2)(conv1)
     model1 = Model(conn=self.s, inputs=[input1], outputs=[output1])
     model1.compile()
     model1.print_summary()
     self.assertTrue(model1.count_params() == 3196)
Beispiel #6
0
 def test_non_list_src_layers(self):
     inputs = Input(1, 28, 28, scale=1.0 / 255, name='InputLayer_1')
     fc1 = Dense(n=128)(inputs)
     fc2 = Dense(n=64)(fc1)
     output1 = OutputLayer(n=10, name='OutputLayer_1')([fc1, fc2])
     model = Model(self.s, inputs=inputs, outputs=output1)
     model.compile()
     model.print_summary()
     self.assertTrue(model.count_params() == 109834)
Beispiel #7
0
 def test_multi_src_layer_fc(self):
     inputs = Input(1, 28, 28, scale=1.0 / 255, name='InputLayer_1')
     fc1 = Dense(n=128, name='dense1')(inputs)
     fc2 = Dense(n=64, name='dense2')(fc1)
     fc3 = Dense(n=64, name='dense3')([fc1, fc2])
     output1 = OutputLayer(n=10, name='OutputLayer_1')(fc3)
     model = Model(self.s, inputs=inputs, outputs=output1)
     model.compile()
     self.assertTrue(model.count_params() == 117386)
 def test_concat(self):
     input1 = Input(n_channels=1, width=28, height=28)
     input2 = Input(n_channels=3, width=28, height=28)
     conv1 = Conv2d(2)(input1)
     conv2 = Conv2d(2)(input1)
     conv3 = Conv2d(2)(input2)
     output2 = OutputLayer(n=2)(conv3)
     concat1 = Concat()([conv1, conv2, conv3])
     output1 = OutputLayer(n=2)(concat1)
     model1 = Model(conn=self.s, inputs=[input1, input2], outputs=[output1, output2])
     model1.compile()
     model1.print_summary()
     self.assertTrue(model1.count_params() == 12644)
Beispiel #9
0
    def test_submodel_in_middle_network(self):
        inputs1 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_1')
        inputs2 = Input(1, 28, 28, scale=1.0 / 255, name='InputLayer_2')
        dense1 = Dense(10, name='d1')(inputs2)
        dense2 = Dense(12, name='d2')(dense1)
        dense3 = Dense(n=128, name='d3')(dense2)
        model_dense = Model(self.s, inputs=inputs2, outputs=dense3)

        fore = model_dense(inputs1)

        concat1 = Dense(20, name='d7')(fore)
        output1 = OutputLayer(n=10, name='OutputLayer_1')(concat1)

        model = Model(self.s, inputs=[inputs1], outputs=output1)
        model.compile()
        model.print_summary()
        self.assertTrue(model.count_params() == 32516)
Beispiel #10
0
    def test_submodel_as_input_network(self):
        inputs1 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_1')
        # inputs2 = InputLayer(1, 28, 28, scale = 1.0 / 255, name = 'InputLayer_2')
        dense1 = Dense(10, name='dense1')(inputs1)
        dense2 = Dense(12, name='dense2')(dense1)
        dense3 = Dense(n=128, name='dense3')(dense2)
        model_dense = Model(self.s, inputs=inputs1, outputs=dense3)

        inputs2 = Input(1, 53, 53, scale=1.0 / 255, name='InputLayer_2')
        out_submodel = model_dense(inputs2)

        concat1 = Dense(20, 'concat1')(out_submodel)
        output1 = OutputLayer(n=10, name='OutputLayer_1')(concat1)
        model = Model(self.s, inputs=[inputs2], outputs=output1)
        model.compile()
        model.print_summary()
        self.assertTrue(model.count_params() == 32516)