From c4559c0f653a05138e875371560fa5c874a7eecd Mon Sep 17 00:00:00 2001 From: HypoxiE Date: Tue, 19 Aug 2025 14:15:08 +0700 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=B0=D0=B7=D0=B0=20=D1=83=D1=81=D0=B2?= =?UTF-8?q?=D0=BE=D0=B5=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | Bin 0 -> 382 bytes src/main.py | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..af804a743c45ada86eb5582fbd5638698a60caca GIT binary patch literal 382 zcmYk2T@HdU5QOL1#H$cmMe)H4nE2!Yj3LxtsG%6)^6KnX!8GNkv-8bv-!F$VZYa4u z3S6<~njwL~N}p3q;1Ia(tSVHuNMVstUvj6AnhiNME;vvb83`7uZh792{vc(?Z%5Xz zDkZ~eRYkR;+Tx_Dp(4G+gqoffPxdLKZt!R7t;rUDujlsbjNG73$!_WPoHb}wPI97i v#)Lrk$dGh{`H(N(hBpvq(azIAYJVj!7l|0?)j@Wm;iHqS2l|-pV)R literal 0 HcmV?d00001 diff --git a/src/main.py b/src/main.py index e69de29..97f3851 100644 --- a/src/main.py +++ b/src/main.py @@ -0,0 +1,38 @@ +import torch +import torch.nn as nn +import torch.optim as optim + +# 1. Данные: y = 2x + 1 с шумом +torch.manual_seed(0) +x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # shape: [100,1] +y = 2 * x + 1 + 0.2 * torch.randn(x.size()) + +# 2. Определяем модель (1 скрытый слой, 10 нейронов) +model = nn.Sequential( + nn.Linear(1, 10), # вход -> скрытый слой + nn.ReLU(), # активация + nn.Linear(10, 1) # скрытый -> выход +) + +# 3. Функция потерь и оптимизатор +criterion = nn.MSELoss() +optimizer = optim.SGD(model.parameters(), lr=0.01) + +# 4. Обучение +for epoch in range(200): + # прямой проход + y_pred = model(x) + loss = criterion(y_pred, y) + + # обнуление градиентов и обратное распространение + optimizer.zero_grad() + loss.backward() + optimizer.step() + + if (epoch+1) % 40 == 0: + print(f'Epoch {epoch+1}/200 | Loss: {loss.item():.4f}') + +# 5. Проверка результата +test_x = torch.tensor([[0.5]]) +pred_y = model(test_x) +print(f"При x=0.5 сеть предсказывает: {pred_y.item():.3f}")