Exemplo n.º 1
0
 def setUp(self):
     x_train = np.array([[1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [5, 6, 7, 8, 9]])
     y_train = [1, 1, 0]
     model = Sequential()
     model.add(Dense(5, input_shape=(5, )))
     model.add(Dense(3))
     model.add(Dense(1))
     model.add(Activation('sigmoid'))
     model.compile(loss='binary_crossentropy',
                   optimizer=Adam(lr=0.001),
                   metrics=['accuracy'])
     model.fit(x_train, y_train, batch_size=1, epochs=1)
     self.model = model
     self.tcav = TCAV(model=model)
Exemplo n.º 2
0
class TestTCAV(unittest.TestCase):
    ''' Tests for model split function
    '''
    def setUp(self):
        x_train = np.array([[1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [5, 6, 7, 8, 9]])
        y_train = [1, 1, 0]
        model = Sequential()
        model.add(Dense(5, input_shape=(5, )))
        model.add(Dense(3))
        model.add(Dense(1))
        model.add(Activation('sigmoid'))
        model.compile(loss='binary_crossentropy',
                      optimizer=Adam(lr=0.001),
                      metrics=['accuracy'])
        model.fit(x_train, y_train, batch_size=1, epochs=1)
        self.model = model
        self.tcav = TCAV(model=model)

    def testModelAssignmentMethod(self):
        ''' Test model assignment in TCAV object via .set_model method
        '''
        self.tcav = TCAV()
        self.tcav.set_model(self.model)
        self.assertIsInstance(self.tcav.model, Sequential)

    def testModelAssignmentDirect(self):
        ''' Test model assignment in TCAV object via object creation
        '''
        self.tcav = TCAV(model=self.model)
        self.assertIsInstance(self.tcav.model, Sequential)

    def testSplitModel(self):
        ''' Test model splitting functionality for basic dense model
        '''
        self.tcav.split_model(bottleneck=1, conv_layer=False)
        self.assertIsInstance(self.tcav.model_f, Sequential)
        self.assertIsInstance(self.tcav.model_h, Sequential)

    def testSplitModelErrors(self):
        ''' Test model splitting errors
        '''
        with self.assertRaises(ValueError):
            self.tcav.split_model(bottleneck=-1, conv_layer=False)
Exemplo n.º 3
0
 def testModelAssignmentDirect(self):
     ''' Test model assignment in TCAV object via object creation
     '''
     self.tcav = TCAV(model=self.model)
     self.assertIsInstance(self.tcav.model, Sequential)
Exemplo n.º 4
0
 def testModelAssignmentMethod(self):
     ''' Test model assignment in TCAV object via .set_model method
     '''
     self.tcav = TCAV()
     self.tcav.set_model(self.model)
     self.assertIsInstance(self.tcav.model, Sequential)