/
vuron
/
adept
Обзор
Документация
Войти
/
vuron
/
adept
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
with_cpu
python/torch_refs/torch_mlp.py
48 строк
1 KB
kolkir
Refactor python folder structure
01 мар 2025, 22:16
01 мар 2025, 22:16
ef25f05
Код
Авторство
О чём код?
import torch import torch.nn.functional as F from torch.utils.data import TensorDataset, DataLoader from torch.optim import SGD epochs = 3 batch_size = 32 n = 10**5 lr = 0.01 x = torch.rand(n, dtype=torch.float32) * 2 * torch.pi y = torch.sin(x) class MLP(torch.nn.Module): def __init__(self): super().__init__() self.l1 = torch.nn.Linear(1, 64) self.l2 = torch.nn.Linear(64, 64) self.l3 = torch.nn.Linear(64, 1) def forward(self, x): x = F.relu(self.l1(x)) x = F.relu(self.l2(x)) x = self.l3(x) return x dataset = TensorDataset(x.reshape((n, 1, 1)), y.reshape((n, 1, 1))) loader = DataLoader(dataset, batch_size=batch_size) mlp = MLP() mlp.train() optimizer = SGD(mlp.parameters(), lr=lr) for epoch in range(epochs): for batch in loader: out = mlp(batch[0]) # loss = F.mse_loss(out, batch[1]) err = batch[1] - out loss = (err * err).mean() print(f"epoch: {epoch}, loss: {loss}") loss.backward() optimizer.step() optimizer.zero_grad()