def optimize(model, data, itermax=50, k=1, act_fn=round): # round rounds .5 to zero weights = [model.W] accuracies = [model.test_acc(data, k=k, act_fn=act_fn)] for _ in range(itermax): model.W = Optimizer.gradient_descent(model, data) weights.append(model.W) accuracies.append(model.test_acc(data, k=k, act_fn=act_fn)) return weights, accuracies
def optimize(model, data, itermax=50, k=1, act_fn=round): # round rounds .5 to zero weights = [model.W] acc, res = model.test_acc(data, k=k, act_fn=act_fn) accuracies = [acc] ress = [res] for _ in range(itermax): # import pdb # pdb.set_trace() model.W = Optimizer.gradient_descent(model, data) weights.append(model.W) acc, res = model.test_acc(data, k=k, act_fn=act_fn) accuracies.append(acc) ress.append(ress) return weights, accuracies, ress