Beispiel #1
0
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
Beispiel #2
0
#!/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()