1、导入构建网络和处理数据所需的包
2、查看当前使用的是cpu还是gpu作为计算设备
(获取网络设备,若希望能够在 GPU 等硬件加速器上训练模型,需要先检查一下 torch.cuda是否可用,从而的确定到底使用哪种设备)
3、定义神经网络费
继承nn.Module类,并对构造函数(_init__)和前向传播计算(forward)进行重新实现。通过继承的机制,根据nn.Module定义我们所需的神经网络类,并对构造函数__init__进行初始化;每个继承于nn.Module的子类,都必须在方法中重新实现对输入数据的前向计算操作函数forward。
4、打印网络结构
import os
import torch
from torch import nn
from torch.utils.data import DataLoader
from torchvision import datasets, transforms
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Using {device} device")
class NeuralNetwork(nn.Module):
def __init__(self):
super(NeuralNetwork, self).__init__()
self.flatten = nn.Flatten()
self.linear_relu_stack = nn.Sequential(
nn.Linear(28*28, 512),
nn.ReLU(),
nn.Linear(512, 512),
nn.ReLU(),
nn.Linear(512, 10),
)
def forward(self, x):
x = self.flatten(x)
logits = self.linear_relu_stack(x)
return logits
model = NeuralNetwork().to(device)
print(model)
5、运行结果如下:
6、资料