def check_param_minmax(self): ''' load saved parameter from trained model and original data as no crash data use to check parameters min-max and save param after backward ''' ws = [] bs = [] for n in self.get_netlist(): for name, param in n.named_parameters(): if 'weight' in name: ws.append(param.view(-1)) if 'bias' in name: bs.append(param.view(-1)) ws = torch.cat(ws) bs = torch.cat(bs) data_io.write_param_dist('../data/gen_by_ML/nocrash_retrain/w_b.pt', ws, bs) print('w max', max(ws), 'min', min(ws)) print('b max', max(bs), 'min', min(bs))
def check_grad_minmax(self): ''' load saved parameter from trained model and original data as no crash data use to check param gradient min-max and save param grad after backward ''' gradw = [] gradb = [] for n in self.get_netlist(): for name, param in n.named_parameters(): if 'weight' in name: gradw.append(param.grad.view(-1)) if 'bias' in name: gradb.append(param.grad.view(-1)) gradw = torch.cat(gradw) gradb = torch.cat(gradb) data_io.write_param_dist( '../data/gen_by_ML/nocrash_retrain/gradw_gradb.pt', gradw, gradb) print('grad w max', max(gradw), 'min', min(gradw)) print('grad b max', max(gradb), 'min', min(gradb))