TD 7 : PyTorch

Programmation pour l’IA

Dire si les définitions suivantes sont correctes. Si oui, donnez la dimension de l’entrée et de la sortie et le nombre de paramètres du problème.

m1 = nn.Sequential(nn.Linear(3,4), nn.ReLU(), nn.Linear(2, 4), nn.ReLU())
m2 = nn.Sequential(nn.Linear(4,2), nn.ReLU(), nn.Linear(2, 4), nn.ReLU())
m3 = nn.Sequential(nn.ReLU(), nn.Linear(3,5), nn.Sigmoid(), nn.Linear(5,2, bias=False))
m4 = nn.Sequential(nn.ReLU(), nn.Sigmoid())

Donnez la sortie des programmes suivants :

m = torch.tensor([[1., 2., 3.], [2.,3.,4.]])
n = torch.tensor([[1., 2.]], requires_grad = True)

u = torch.sum(n@m)
u.backward()
print(m.grad)
print(n.grad)
m = torch.tensor([[1., 2., 3.], [2.,3.,4.]], requires_grad=True)
n = torch.tensor([[1., 2.]], requires_grad = True)

u = torch.sum(n@m)
u.backward()
print(m.grad)
print(n.grad)
print(m4([-5,1,-2]))
x = torch.tensor([1., 2., 3.])
y = torch.tensor([2., 2., 1.])
l = nn.MSELoss()
l(x,y)
x = torch.tensor([1., 2., 3.])
y = torch.tensor([2., 2., 1.])
l = nn.MSELoss(reduction="none")
l(x,y)