code: def new_with_params(self, param_groups:Collection[Collection[nn.Parameter]]):
          "Create a new `OptimWrapper` from `self` with another `layer_groups` but the same hyper-parameters."
          opt_func = getattr(self, 'opt_func', self.opt.__class__)
          opt = opt_func([{'params': p, 'lr':0} for p in param_groups])
          opt = self.__class__(opt, wd=self.wd, true_wd=self.true_wd, bn_wd=self.bn_wd)
          opt.lr,opt.opt_func,opt.mom,opt.beta = self.lr,opt_func,self.mom,self.beta
          return opf new_with_params(self, param_groups:Collection[Collection[nn.Parameter]]):
          "Create a new `OptimWrapper` from `self` with another `layer_groups` but the same hyper-parameters."
          opt_func = getattr(self, 'opt_func', self.opt.__class__)
          opt = opt_func([{'params': p, 'lr':0} for p in param_groups])
          opt = self.__class__(opt, wd=self.wd, true_wd=self.true_wd, bn_wd=self.bn_wd)
          opt.lr,opt.opt_func,opt.mom,opt.beta = self.lr,opt_func,self.mom,self.beta
          return opt
docs: Create a new `OptimWrapper` from `self` with another `layer_groups` but the same hyper-parameters.