def create_optimizer(self,opts, model: Module): optimopts = opts.optimizeropts if opts.epocheropts.gpu: device = torch.device("cpu") model = model.to(device=device) optim = globals()[optimopts.type](model.parameters(), lr=optimopts.lr, momentum=optimopts.momentum, weight_decay=optimopts.weight_decay, dampening=optimopts.dampening, nesterov=optimopts.nestrov) opts.optimizeropts.lr_sched = LambdaLR(optim, opts.optimizeropts.lr_sched_lambda, last_epoch=-1) return optim
def _top_k_selector(net: Module, img: Tensor, k: int) -> NeuronSelector: """Creates a top-k classes selector. Args: net: network img: prepared input image k: number of classes Returns: neuron selector for the top k classes """ net = net.to(midnite.get_device()) out = net(img).squeeze(0) mask = _top_k_mask(out, k) return SimpleSelector(mask)