LabP02 6번 성능비교를 위한 활성함수 변경
from torch import tensor
from torch import nn
from torch.nn import ReLU
import torch.nn.functional as F
import torch.optim as optim
x_data3 = tensor(1.0], [2.0], [3.0], [4.0)
y_data3 = tensor(0.], [0.], [1.], [1.)
class Model2(nn.Module):
def init(self):
super(Model2, self).init()
self.linear = nn.Linear(1,1)
def forward(self, x):
y_pred = ReLU(self.linear(x))
return y_pred
model = Model2()
criterion = torch.nn.BCELoss(reduction = 'mean')
optimizer = torch.optim.SGD(model.parameters(), lr= 0.01)
for epoch in range(1000):
y_pred = model(x_data3)
loss = criterion(y_pred, y_data3) --> 이 부분에서 'ReLU' object has no attribute 'size' 이렇게 오류가 나는 데 어떻게 해결해야 하나요?
print(f'Epoch: {epoch + 1}/1000 | Loss: {loss.item():.4f} ')
optimizer.zero_grad()
loss.backward()
optimizer.step()