Sobes.tech
Middle

Чӣ гуна сохтани ва омӯзиши классификатори дар PyTorch?

sobes.tech AI

Ҷавоб аз AI

Барои эҷод ва омӯзиши классификатори дар PyTorch, бояд чанд қадамро иҷро кунед:

  1. Моделро муайян кунед — як синф созед, ки аз nn.Module мерос мегирад, ва архитектураро тавсиф кунед.
  2. Маълумотҳоро омода кунед — маълумотҳоро бор кунед ва ба DataLoader табдил диҳед.
  3. Функсияи талафот ва оптимизаторро муайян кунед.
  4. Моделро омӯзонед — дар давоми цикл маълумотро гузаронед, баромадро ҳисоб кунед, хато ҳисоб кунед, паҳнкунии пасзаманаиро иҷро кунед ва вазнҳоро навсозӣ кунед.

Масалан, барои вазифаи бо 10 синфҳо, як классификатори содда:

import torch
import torch.nn as nn
import torch.optim as optim

class SimpleClassifier(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc = nn.Linear(784, 10)  # масалан барои тасвирҳои 28x28

    def forward(self, x):
        return self.fc(x)

model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# Масалан, давраи омӯзиш
for epoch in range(num_epochs):
    for inputs, labels in dataloader:
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

Ин код метавонад бо илова кардани қабатҳои, функсияҳои фаъолият, коркарди маълумот ва ғайра васеъ карда шавад.