def main(): output_dir = os.path.abspath("workspace") dataset_manager = DatasetManager() model = MaskRCNN(output_dir) ratio = 0.2 datasetA, datasetB = dataset_manager.split_dataset('ade20k_train', ratio=ratio) weights = model.train(datasetA, weights=None, epochs=10) while True: small_datasetB = dataset_manager.random_subset(datasetB, 100) predictions = model.predict(small_datasetB, weights) annotations = annotator.filter(predictions) new_dataset = dataset_manager.create_dataset_with_new_annotations( datasetB, annotations) weights = model.train(new_dataset, weights, epochs=1)