Skip to content

Instantly share code, notes, and snippets.

@louity
louity / gradients.py
Last active April 19, 2022 15:36
Task Driven Dictionary Learning : backprop and analytic gradients comparison
# Louis THIRY, 4.11.2019
# reference paper for Task Driven Dictionary Learning : https://www.di.ens.fr/~fbach/taskdriven_mairal2012.pdf
import torch
import torch.nn as nn
import matplotlib.pyplot as plt
def elastic_net_loss(inputs, dictionary, alpha, lambda_1, lambda_2):
return (0.5 * ((torch.mm(alpha, dictionary.t()) - inputs)**2).sum(dim=1) +
lambda_1 * torch.norm(alpha, p=1, dim=1) +
0.5 * lambda_2 * (alpha**2).sum(dim=1))