예제 #1
0
 def __init__(self, globalConfig={}, config={}):
     self.globalConfig = Configuration(globalConfig, GLOBAL_DEFAULTS)
     self.config = Configuration(config, DEFAULTS)
     self.modelConfig = Configuration.load(self.config["model_path"],
                                           "algorithm")
     self._configure_dataset()
     self._configure_algorithm()
     self._configure_executor()
예제 #2
0
                        default=MODEL_DATE)
    parser.add_argument('--paper-note-path',
                        default='../paper-notes/data/words')
    parser.add_argument('--model-epoch',
                        help='epoch to continue for',
                        default=MODEL_EPOCH,
                        type=int)
    args = parser.parse_args()

    # TRAINING
    LOG_NAME = '{}-{}'.format("otf-iam-paper", args.model_date)
    model_folder = os.path.join(Constants.MODELS_PATH, LOG_NAME)
    models_path = os.path.join(model_folder,
                               'model-{}'.format(args.model_epoch))
    logger = Logger()
    config = Configuration.load(model_folder, "algorithm")
    algorithm = HtrNet(config['algo_config'])
    dataset = PreparedDataset.PreparedDataset(config['dataset'], False,
                                              config['data_config'])

    algorithm.configure(batch_size=config['batch'],
                        learning_rate=config['learning_rate'],
                        sequence_length=dataset.max_length,
                        image_height=dataset.meta["height"],
                        image_width=dataset.meta["width"],
                        vocab_length=dataset.vocab_length,
                        channels=dataset.channels,
                        class_learning_rate=config.default(
                            'class_learning_rate', config['learning_rate']))
    executor = Executor(algorithm, True, config, logger=logger)
예제 #3
0
                    'gt.viz', False):
                vizimage = self.viz(vizimage, gt, True)
            if len(self.blocks) > 0:
                vizimage = self.viz(vizimage, res["result"], False)
            self.viz.store(vizimage, file)
            res["viz"] = vizimage
        if len(self.evals) > 0:
            for evl in self.evals:
                scores = evl(gt, res["result"])
                for score_key in scores.keys():
                    self.scores[score_key] = [
                        scores[score_key]
                    ] if score_key not in self.scores else [
                        scores[score_key], *self.scores[score_key]
                    ]
        return res


if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('--config')
    parser.add_argument('--gpu',
                        help='Runs scripts on gpu. Default is cpu.',
                        default=-1,
                        type=int)
    args = parser.parse_args()
    config = Configuration.load("./config/e2e/", args.config)
    e2e = E2ERunner(config, {"gpu": args.gpu})
    e2e()
    parser.add_argument('--logplacement',
                        help='Log Device placement',
                        action='store_true',
                        default=False)
    parser.add_argument('--model-date',
                        help='date to continue for',
                        default='')
    parser.add_argument('--model-epoch',
                        help='epoch to continue for',
                        default=0,
                        type=int)
    args = parser.parse_args()

    # TRAINING
    logger = Logger()
    config = Configuration.load(SEP_CONFIG_PATH, args.config)
    config()
    algorithm = TFUnet(config['algo_config'])
    algorithm.configure(learning_rate=config['learning_rate'],
                        slice_width=config['data_config.slice_width'],
                        slice_height=config['data_config.slice_height'])
    executor = Executor(algorithm, True, config, logger=logger)
    dataset = PaperNoteSlices(paper_note_path=config.default(
        'data_config.paper_note_path', '../paper-notes/data/final'),
                              filter=config['data_config.filter'],
                              slice_width=config['data_config.slice_width'],
                              slice_height=config['data_config.slice_height'],
                              binarize=config.default('binary', False),
                              config=config['data_config'])

    log_name = '{}-{}'.format(config["name"],