File size: 810 Bytes
8d4ee22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# order: lr,weight_decay, step_lr, step_lr_gamma
import math


class EvaluatedDict:
    def __init__(self, d, func):
        self.dict = d
        self.func = func

    def __getitem__(self, key):
        return self.dict[self.func(key)]

dense_params = EvaluatedDict({False: [0.005, 0.0005, 30, 0.4, 150],True: [None,None,None,None,None],}, lambda x: x == "ImageNet")
def calculate_lr_from_args( epochs, step_lr, start_lr, step_lr_decay):
    # Gets the final learning rate after dense training with step_lr_schedule.
    n_steps = math.floor((epochs - step_lr) / step_lr)
    final_lr = start_lr * step_lr_decay ** n_steps
    return final_lr

ft_params =EvaluatedDict({False: [1e-4, 0.0005, 10, 0.4, 40],True:[[calculate_lr_from_args(150,30,0.005, 0.4), 0.0005, 10, 0.4, 40]]}, lambda x: x == "ImageNet")