MCPcopy Create free account
hub / github.com/HobbitLong/PyContrast / BaseOptions

Class BaseOptions

pycontrast/options/base_options.py:5–155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3
4
5class BaseOptions(object):
6
7 def __init__(self):
8 self.initialized = False
9 self.parser = None
10 self.opt = None
11 # config for predefined method
12 self.override_dict = {
13 'InsDis': ['RGB', False, 'bank', 'A', 'linear', 0.07],
14 'CMC': ['CMC', False, 'bank', 'C', 'linear', 0.07],
15 'MoCo': ['RGB', False, 'moco', 'A', 'linear', 0.07],
16 'PIRL': ['RGB', True, 'bank', 'A', 'linear', 0.07],
17 'MoCov2': ['RGB', False, 'moco', 'B', 'mlp', 0.2],
18 'CMCv2': ['CMC', False, 'moco', 'E', 'mlp', 0.2],
19 'InfoMin': ['RGB', True, 'moco', 'D', 'mlp', 0.15],
20 }
21
22 def initialize(self, parser):
23 # specify folder
24 parser.add_argument('--data_folder', type=str, default='./data',
25 help='path to data')
26 parser.add_argument('--model_path', type=str, default='./save',
27 help='path to save model')
28 parser.add_argument('--tb_path', type=str, default='./tb',
29 help='path to tensorboard')
30
31 # basics
32 parser.add_argument('--print_freq', type=int, default=10,
33 help='print frequency')
34 parser.add_argument('--save_freq', type=int, default=20,
35 help='save frequency')
36 parser.add_argument('--batch_size', type=int, default=256,
37 help='batch_size')
38 parser.add_argument('-j', '--num_workers', type=int, default=40,
39 help='num of workers to use')
40
41 # optimization
42 parser.add_argument('--epochs', type=int, default=200,
43 help='number of training epochs')
44 parser.add_argument('--learning_rate', type=float, default=0.03,
45 help='learning rate')
46 parser.add_argument('--lr_decay_epochs', type=str, default='120,160',
47 help='where to decay lr, can be a list')
48 parser.add_argument('--lr_decay_rate', type=float, default=0.1,
49 help='decay rate for learning rate')
50 parser.add_argument('--weight_decay', type=float, default=1e-4,
51 help='weight decay')
52 parser.add_argument('--momentum', type=float, default=0.9,
53 help='momentum for SGD')
54 parser.add_argument('--cosine', action='store_true',
55 help='using cosine annealing')
56
57 # method selection
58 parser.add_argument('--method', default='Customize', type=str,
59 choices=['InsDis', 'CMC', 'CMCv2', 'MoCo', 'MoCov2',
60 'PIRL', 'InfoMin', 'Customize'],
61 help='Choose predefined method. Configs will be override '
62 'for all methods except for `Customize`, which allows '

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected