Middle
Чӣ гуна сохтани ва омӯзиши классификатори дар PyTorch?
sobes.tech AI
Ҷавоб аз AI
Барои эҷод ва омӯзиши классификатори дар PyTorch, бояд чанд қадамро иҷро кунед:
- Моделро муайян кунед — як синф созед, ки аз
nn.Moduleмерос мегирад, ва архитектураро тавсиф кунед. - Маълумотҳоро омода кунед — маълумотҳоро бор кунед ва ба
DataLoaderтабдил диҳед. - Функсияи талафот ва оптимизаторро муайян кунед.
- Моделро омӯзонед — дар давоми цикл маълумотро гузаронед, баромадро ҳисоб кунед, хато ҳисоб кунед, паҳнкунии пасзаманаиро иҷро кунед ва вазнҳоро навсозӣ кунед.
Масалан, барои вазифаи бо 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()
Ин код метавонад бо илова кардани қабатҳои, функсияҳои фаъолият, коркарди маълумот ва ғайра васеъ карда шавад.