def generate_random_hyperparams(lr_min, lr_max, K_min, K_max, num_layers_min, num_layers_max,load_hparams):
"""This function generates random hyper-parameters for hyperparameter search"""
#this is for new random parameters
if not load_hparams[0]:
lr_exp = np.random.uniform(lr_min, lr_max)
lr = 10**(lr_exp)
K = np.random.choice(np.arange(K_min, K_max+1),1)[0]
num_layers = np.random.choice(np.arange(num_layers_min, num_layers_max + 1),1)[0]
#momentum_exp = np.random.uniform(-8,0)
momentum = np.random.uniform(0,1) #(2**momentum_exp)
#this loads hyperparameters from an existing file
else:
exp_data = np.load('experiment_data/nmf_data_timit_model_bi_mod_lstm_diag_to_full_device_cpu:0_1490813245.npy')[load_hparams[1]]
lr = exp_data['LR']
K = exp_data['K']
num_layers = exp_data['num_layers']
try:
momentum = exp_data['num_layers']
except:
momentum = None
return lr, K, num_layers, momentum
评论列表
文章目录