def tuning(mode, n_iter, n_gpu, devices, save_interval, n_blocks, block_id): if n_gpu == -1: n_gpu = len(devices.split(',')) space = [ { 'loss': ['arcface'], # 'verifythresh': [20, 30, 40, 50], # 'freqthresh': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], }, ] if mode == 'grid': candidate_list = list(ParameterGrid(space)) elif mode == 'random': candidate_list = list( ParameterSampler(space, n_iter, random_state=params['seed'])) else: raise ValueError n_per_block = math.ceil(len(candidate_list) / n_blocks) candidate_chunk = candidate_list[block_id * n_per_block:(block_id + 1) * n_per_block] utils.launch_tuning(mode=mode, n_iter=n_iter, n_gpu=n_gpu, devices=devices, params=params, root=ROOT, save_interval=save_interval, candidate_list=candidate_chunk)
def tuning(mode, n_iter, n_gpu, devices, save_interval, n_blocks, block_id): if n_gpu == -1: n_gpu = len(devices.split(',')) space = [ { 'loss': ['arcface', 'adacos', 'cosface'], 'pooling': ['G,G,G,G'], }, { 'loss': ['arcface'], 'pooling': ['SMG,MG,G,G'], }, ] if mode == 'grid': candidate_list = list(ParameterGrid(space)) elif mode == 'random': candidate_list = list(ParameterSampler(space, n_iter, random_state=params['seed'])) else: raise ValueError n_per_block = math.ceil(len(candidate_list) / n_blocks) candidate_chunk = candidate_list[block_id * n_per_block: (block_id + 1) * n_per_block] utils.launch_tuning(mode=mode, n_iter=n_iter, n_gpu=n_gpu, devices=devices, params=params, root=ROOT, save_interval=save_interval, candidate_list=candidate_chunk)
def tuning(mode, n_iter, n_gpu, devices, save_interval, n_blocks, block_id): if n_gpu == -1: n_gpu = len(devices.split(',')) space = [ { # 'fc_dim': [512, 1024], 'epochs': [7], 'augmentation': ['middle'], 'verifythresh': [30], 'freqthresh': [2, 3], }, ] if mode == 'grid': candidate_list = list(ParameterGrid(space)) elif mode == 'random': candidate_list = list( ParameterSampler(space, n_iter, random_state=params['seed'])) else: raise ValueError n_per_block = math.ceil(len(candidate_list) / n_blocks) candidate_chunk = candidate_list[block_id * n_per_block:(block_id + 1) * n_per_block] utils.launch_tuning(mode=mode, n_iter=n_iter, n_gpu=n_gpu, devices=devices, params=params, root=ROOT, save_interval=save_interval, candidate_list=candidate_chunk)
def tuning(mode, n_iter, n_gpu, devices, save_interval, n_blocks, block_id): if n_gpu == -1: n_gpu = len(devices.split(',')) space = [{ 'pooling': ['G,G,G,G'], 'epochs': [5], 'batch_size': [32], # 'fc_dim': [128, 256, 512], }] if mode == 'grid': candidate_list = list(ParameterGrid(space)) elif mode == 'random': candidate_list = list( ParameterSampler(space, n_iter, random_state=params['seed'])) else: raise ValueError n_per_block = math.ceil(len(candidate_list) / n_blocks) candidate_chunk = candidate_list[block_id * n_per_block:(block_id + 1) * n_per_block] utils.launch_tuning(mode=mode, n_iter=n_iter, n_gpu=n_gpu, devices=devices, params=params, root=ROOT, save_interval=save_interval, candidate_list=candidate_chunk)
def tuning(mode, n_iter, n_gpu, devices, save_interval, n_blocks, block_id): """ Example: python v12.py tuning --devices 0,1,2,3 --n-gpu 2 """ if n_gpu == -1: n_gpu = len(devices.split(',')) space = [ { 'loss': ['arcface'], 'freqthresh': [2, 5], 'margin': [0.3, 0.4], }, ] if mode == 'grid': candidate_list = list(ParameterGrid(space)) elif mode == 'random': candidate_list = list(ParameterSampler(space, n_iter, random_state=params['seed'])) else: raise ValueError n_per_block = math.ceil(len(candidate_list) / n_blocks) candidate_chunk = candidate_list[block_id * n_per_block: (block_id + 1) * n_per_block] utils.launch_tuning(mode=mode, n_iter=n_iter, n_gpu=n_gpu, devices=devices, params=params, root=ROOT, save_interval=save_interval, candidate_list=candidate_chunk)
def tuning(mode, n_iter, n_gpu, devices, save_interval, n_blocks, block_id): """ Example: python v12.py tuning --devices 0,1,2,3 --n-gpu 2 """ if n_gpu == -1: n_gpu = len(devices.split(',')) space = [ { 'batch_size': [32], # 'epochs': [1], # 'scaleup_epochs': [0], 'loss': ['arcface'], 'verifythresh': [30], 'freqthresh': [3], 'margin': [0.3, 0.2], 's': [30], # 'augmentation': ['soft'], }, # for reproduce # { # 'batch_size': [32], # 'loss': ['arcface'], # 'verifythresh': [30, 40, 50], # 'freqthresh': [2, 3, 5], # 'margin': [0.3], # 's': [30], # }, # { # 'batch_size': [32], # 'loss': ['arcface'], # 'verifythresh': [30], # 'freqthresh': [3], # 'margin': [0.2], # 's': [30], # }, ] if mode == 'grid': candidate_list = list(ParameterGrid(space)) elif mode == 'random': candidate_list = list(ParameterSampler(space, n_iter, random_state=params['seed'])) else: raise ValueError n_per_block = math.ceil(len(candidate_list) / n_blocks) candidate_chunk = candidate_list[block_id * n_per_block: (block_id + 1) * n_per_block] utils.launch_tuning(mode=mode, n_iter=n_iter, n_gpu=n_gpu, devices=devices, params=params, root=ROOT, save_interval=save_interval, candidate_list=candidate_chunk)
def tuning(mode, n_iter, n_gpu, devices): """ Example: python exp0.py tuning --devices 0,1 --n-gpu 1 python exp0.py tuning --devices 0,1 --n-gpu 1 --mode 'random' --n-iter 4 """ if n_gpu == -1: n_gpu = len(devices.split(',')) space = { 'lr': [1e-5, 1e-4, 1e-3], 'batch_size': [16, 8], } utils.launch_tuning(mode, n_iter, n_gpu, devices, params, space, ROOT)