Exemplo n.º 1
0
 def __init__(self, feature_data_file=FEATURE_DATA_FILE, label_coarse=False):
     self.label_coarse = label_coarse
     self.reader = DataSet("")
     self.query_matcher = QueryMatcher(feature_data_file, label_coarse=label_coarse)
     self.feature_db_flattened = self.query_matcher.features_flattened
     self.feature_db_raw = self.query_matcher.features_raw
     self.features_df_flat = pd.DataFrame(self.feature_db_flattened).set_index('name')
     self.features_df_raw = pd.DataFrame(self.feature_db_raw).set_index('name')
     self.mesh_classes_count = self.features_df_flat['label'].value_counts()
     if self.label_coarse:
         self.mesh_classes_count = self.features_df_flat['label_coarse'].value_counts().rename("label")
Exemplo n.º 2
0
def train():
    tr_config = {
        'flag': True,
        'rg': 25,  # 7, 5
        'wrg': 0.25,  # 1, 3
        'hrg': 0.25,  # 1, 3
        'zoom': 0.25  # 1, 1
    }
    callbacks = get_callbacks('mynet_v4_bias', patience=30)

    paths, y = search_file('set1/segmented_set1')
    paths, y = search_file('set2/segmented_set2', paths=paths, y=y)

    ds = DataSet(nframe=30,
                 fstride=6,
                 name='UT interaction',
                 size=[224, 224, 3],
                 filepaths=paths,
                 y=y,
                 kernel_size=4)
    ds.make_set(op='msqr', name='train')
    ds.make_set(op='msqr', name='valid')

    #opt = Adam(lr=1e-4, beta_1=0.9, beta_2=0.999, decay=0.1)
    #opt = SGD(lr=2*1e-1, momentum=0.9, nesterov=True, decay=0.2)
    opt = RMSprop(lr=0.001, rho=0.9, decay=0.01)

    model = MobileNet(alpha=1.0, shape=[29, 56, 56, 1], nframe=29)
    model.compile(optimizer=opt,
                  loss='categorical_crossentropy',
                  metrics=['accuracy'])
    model.summary()

    #model.load_weights('mynet_v4.h5')
    model.fit_generator(generator=ds.train_gen(batch_size=5,
                                               aug_config=tr_config),
                        steps_per_epoch=100,
                        epochs=300,
                        validation_data=ds.valid_gen(),
                        verbose=1,
                        validation_steps=ds.getVlen,
                        callbacks=callbacks)