import os import shutil from datetime import datetime, timedelta import matplotlib.pyplot as plt import numpy as np from PIL import Image from deepsense import neptune from torch.optim.lr_scheduler import ExponentialLR from minerva.backend.models.pytorch.utils import overlay_box, overlay_keypoints, Averager, save_model from minerva.backend.models.pytorch.validation import score_model_multi_output, predict_on_batch_multi_output from minerva.utils import get_logger logger = get_logger() class Callback: def __init__(self): self.epoch_id = None self.batch_id = None self.model = None self.optimizer = None self.loss_function = None self.validation_datagen = None self.lr_scheduler = None def set_params(self, transformer, validation_datagen): self.model = transformer.model self.optimizer = transformer.optimizer
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import importlib import click from minerva.utils import init_logger, setup_torch_multiprocessing, get_logger, SUBPROBLEM_INFERENCE, \ get_available_problems logging = get_logger() PROBLEMS_CHOICE = click.Choice(get_available_problems()) @click.group() def action(): pass @action.command() @click.option('-p', '--problem', type=PROBLEMS_CHOICE, help='problem to choose', required=True) @click.option('-d', '--dev_mode', help='dev mode on', is_flag=True) def dry_train(problem, dev_mode): dry_run(problem, train_mode=True, dev_mode=dev_mode) @action.command()