Was genau gibt die Vorwärtsfunktion in Pytorch aus?Python

Python-Programme
Anonymous
 Was genau gibt die Vorwärtsfunktion in Pytorch aus?

Post by Anonymous »

Dieses Beispiel wird aus der Pytorch -Dokumentation wörtlich genommen. Jetzt habe ich im Allgemeinen einen Hintergrund zum Deep Learning und weiß, dass es offensichtlich sein sollte, dass der Vorwärtsverlauf einen Vorwärtspass darstellt, durch verschiedene Ebenen und schließlich das Ende erreicht, wobei 10 Ausgänge in diesem Fall die Ausgabe des Vorwärtspasses übernehmen und die Verlust mit der definierten Verlustfunktion verwenden. Jetzt habe ich vergessen, was genau die Ausgabe aus dem Stürmer () pass in diesem Szenario ergibt. später angerufen. Ich möchte also nur klarstellen, was genau die Ausgänge = net (Inputs) geben, die mir aus diesem Link stand

Code: Select all

transform = transforms.Compose(
[transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
shuffle=True, num_workers=2)

import torch.nn as nn
import torch.nn.functional as F

class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.conv1 = nn.Conv2d(3, 6, 5)
self.pool = nn.MaxPool2d(2, 2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.fc1 = nn.Linear(16 * 5 * 5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)

def forward(self, x):
x = self.pool(F.relu(self.conv1(x)))
x = self.pool(F.relu(self.conv2(x)))
x = x.view(-1, 16 * 5 * 5)
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return x

net = Net()

import torch.optim as optim

criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

for epoch in range(2):  # loop over the dataset multiple times

running_loss = 0.0
for i, data in enumerate(trainloader, 0):
# get the inputs; data is a list of [inputs, labels]
inputs, labels = data

# zero the parameter gradients
optimizer.zero_grad()

# forward + backward + optimize
outputs = net(inputs)
print(outputs)
break
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()

# print statistics
running_loss += loss.item()
if i % 2000 == 1999:    # print every 2000 mini-batches
print('[%d, %5d] loss: %.3f' %
(epoch + 1, i + 1, running_loss / 2000))
running_loss = 0.0

print('Finished Training')

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post