Предположим, у меня есть простая нейронная сеть, определенная следующим образом:
import torch
import torch.nn as nn
class Net(nn.Module):
def __init__(self):
super().__init__()
self.fc1 = nn.Linear(2,2)
self.fc2 = nn.Linear(2,2)
def forward(self, x):
x = F.relu(self.fc1(x))
x = self.fc2(x)
return x
net = Net()
Выполнение следующих действий:
for param in net.parameters():
print(param.data)
дает что-то вроде:
tensor([[-0.0776, 0.2409],
[ 0.3478, -0.6820]])
tensor([-0.6311, 0.2323])
tensor([[-0.5466, 0.0341],
[ 0.5822, 0.7005]])
tensor([-0.5624, 0.3278])
Давайте скажем, что у меня есть тензор ([[0,0], [0,1]]), и я хотел заменить первый param.data на свой собственный тензор.
Возможно ли это, и если да, то как я могу это сделать?