コード例 #1
0
ファイル: train.py プロジェクト: pkuqgg/isic2018-part3
from torchvision import models
from torchvision.utils import save_image
from tqdm import tqdm

from auglib.augmentation import Augmentations, set_seeds
from auglib.meters import AverageMeter
from auglib.dataset_loader import CSVDatasetWithName

np.set_printoptions(precision=4, suppress=True)

ex = Experiment()
fs_observer = FileStorageObserver.create('results')
ex.observers.append(fs_observer)
telegram_file = 'telegram.json'
if os.path.isfile(telegram_file):
    telegram_obs = TelegramObserver.from_config(telegram_file)
    ex.observers.append(telegram_obs)


@ex.config
def cfg():
    train_root = None
    train_csv = None
    train_split = None
    val_root = None
    val_csv = None
    val_split = None
    n_classes = 7
    epochs = 200  # maximum number of epochs
    batch_size = 32  # batch size
    num_workers = 8  # parallel jobs for data loading and augmentation
コード例 #2
0
ファイル: Runner.py プロジェクト: vin-ivar/ml-skeleton
import sys
import torch
import argparse
from types import SimpleNamespace
from sacred import Experiment
from sacred.observers import MongoObserver, TinyDbObserver, TelegramObserver

ex = Experiment('mnist')

ex.observers.append(MongoObserver.create())
ex.observers.append(TelegramObserver.from_config('telegram.json'))

parser = argparse.ArgumentParser()
parser.add_argument('--device', action='store', default=torch.device('cuda:0' if torch.cuda.is_available() else 'cpu'))
parser.add_argument('--data', action='store', default='./data/')

ex.add_config({'args': vars(parser.parse_args())})

@ex.main
def main(_run, args):
    args = SimpleNamespace(**args)

ex.run()

コード例 #3
0
from torchvision import models
from torchvision.utils import save_image, make_grid
from tqdm import tqdm

from auglib.augmentation import Augmentations, set_seeds
from auglib.dataset_loader import CSVDataset, CSVDatasetWithName
from auglib.meters import AverageMeter
from auglib.test import test_with_augmentation

ex = Experiment()
fs_observer = FileStorageObserver.create('results')
ex.observers.append(fs_observer)

TELEGRAM_KEY = 'telegram.json'
if os.path.isfile(TELEGRAM_KEY):
    telegram_obs = TelegramObserver.from_config('telegram.json')
    ex.observers.append(telegram_obs)


@ex.config
def cfg():
    train_root = None  # path to train images
    train_csv = None  # path to train CSV
    val_root = None  # path to validation images
    val_csv = None  # path to validation CSV
    test_root = None  # path to test images
    test_csv = None  # path to test CSV
    epochs = 30  # number of epochs
    batch_size = 32  # batch size
    num_workers = 8  # parallel jobs for data loading and augmentation
    model_name = None  # model: inceptionv4, densenet161, resnet152
コード例 #4
0
parser.add_argument('-ll', '--log-level', type=str, default='INFO', help='logging level', choices=['CRITICAL', 'FATAL',
																								   'ERROR', 'WARNING',
																								   'WARN', 'INFO',
																								   'DEBUG'])
parser.add_argument('-em', '--evaluation-mode', type=str, default='validation', help='evaluation mode')
parser.add_argument('-mp', '--min-performance', type=float, default=0.68, help='minimum performance of model for serialising it')
parser.add_argument('-kp', '--kill-performance', type=float, default=0.45, help='stop process automatically if performance stays below'
																				'given level after some burn-in period')
parser.add_argument('-bi', '--burn-in', type=int, default=5, help='number of epochs of patience before the kill-performance option'
																  'becomes active')
parser.add_argument('-egt', '--experiment-id-greater-than', type=int, default=-1, help='skip first n experiments')

ex = Experiment('GANDALF')
OBSERVERS = {
	'mongo': MongoObserver.create(db_name='GANDALF'),
	'telegram': TelegramObserver.from_config(os.path.join(PROJECT_PATH, 'resources/sacred/telegram.json')),
	'sqlite': SqlObserver.create(
		'sqlite:///{}'.format(os.path.join(PACKAGE_PATH, 'resources', 'sacred', 'GANDALF.sqlite'))),
	'tinydb': TinyDbObserver.create(os.path.join(PACKAGE_PATH, 'resources', 'sacred', 'GANDALF.tinydb')),
	'file': FileStorageObserver.create(
		os.path.join(PACKAGE_PATH, 'resources', 'sacred', 'GANDALF.fs'))
}


@ex.config
def config():
	config_name = ''
	exp_name = ''
	input_file = ''
	vector_file = ''
	vector_model_type = ''
コード例 #5
0
ファイル: main.py プロジェクト: ssbahade/gnn_toy_example
    ###########################

    return atexit_tasks(model=model)


if __name__ == '__main__':
    config_dict, remaining_args = Config().parse_args()
    ex.add_config(config_dict)

    # sacred_default_flags = ['--enforce_clean', '-l', 'INFO']
    sacred_default_flags = []
    # remove all argparse arguments from sys.argv
    argv = [sys.argv[0], *sacred_default_flags, *remaining_args]

    ex.observers.append(
        MongoObserver.create(
            url=config_dict['mongo_url'],
            db_name=config_dict['mongo_db']
        )
    )

    if config_dict['telegram']:
        telegram_obs = TelegramObserver.from_config(
            os.path.join(config_dict['root_dir'], 'telegram.json'))
        ex.observers.append(telegram_obs)

    ex.captured_out_filter = sacred.utils.apply_backspaces_and_linefeeds

    r = ex.run_commandline(argv)
    os._exit(0)