赞
踩
- import torch
- import torchvision
- from torch import nn
- from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequential
- from torch.utils.data import DataLoader
- dataset = torchvision.datasets.CIFAR10("F:/projects/venv/imgs", train=False, transform=torchvision.transforms.ToTensor(),
- download=True)
- dataload = DataLoader(dataset, batch_size=64)
-
- class convd(nn.Module):
- def __init__(self):
- super(convd, self).__init__()
- self.model = Sequential(
- Conv2d(3, 32, 5, padding=2),
- MaxPool2d(2),
- Conv2d(32, 32, 5, padding=2),
- MaxPool2d(2),
- Conv2d(32, 64, 5, padding=2),
- MaxPool2d(2),
- Flatten(),
- Linear(1024, 64),
- Linear(64, 10)
- )
- def forward(self,x):
- x=self.model(x)
- Convd=convd()
- print(Convd)
- loss=nn.CrossEntropyLoss()
- optic=torch.optim.SGD(Convd.parameters(),lr=0.01)
- for epoch in range(20):
- running_loss=0
- for data in dataload:
- imgs, target = data
- output = Convd(imgs)
- result_loss=loss(output,target)
- optic.zero_grad()
- result_loss.backward()
- optic.step()
- running_loss=running_loss+result_loss
- print("输出损失",running_loss)

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。