numObservations = 128;
X = rand([inputSize numObservations]);
X = dlarray(X,"SSCB");
T = rand([numOutputChannels numObservations]);
T = dlarray(T,"CB");
function [loss,gradients,jac] = modelLoss(net,X,T)
Y = forward(net,X);
loss = l1loss(Y,T);
X = stripdims(X);
Y = stripdims(Y);
jac = dljacobian(Y,X,1);
gradients = dlgradient(loss,net.Learnables);
end