栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【简易笔记】PyTorch官方教程简易笔记 EP2

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【简易笔记】PyTorch官方教程简易笔记 EP2

待更新中…
记录PyTorch 官方入门教程中的大部分代码和对代码的解释注释

暂时内容包括:构建一个神经网络

参考网站:https://pytorch.org/tutorials/beginner/
/buildmodel_tutorial.html

构建神经网络
import os
import torch
from torch import nn
from torch.utils.data import DataLoader
from torchvision import datasets, transforms
from zmq import device

if torch.cuda.is_available:
    device = "cuda"
    print("cuda加速已开启")
else:
    device = "cpu"

这一段是设置对张量的加速设置,cuda对应着GPU加速,需要用到N卡的cuda

class NeuralNetwork(nn.Module):
    def __init__(self):
        super().__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,258),
            nn.ReLU(),
            nn.Linear(258, 10),
        )

    def forward(self, x):
        x = self.flatten(x)
        logits = self.linear_relu_stack(x)
        return logits

model = NeuralNetwork().to(device)
print(model)

这里是构建这个神经网络类,下面对每部分代码一一注释解释

super().__init__()

以nn.Module为父类创建他的子类,这个函数是用于设定继承父类的方法

函数参考:nn.module
super().init()

self.flatten = nn.Flatten()

这是一个用于压平的函数,对应着之前理论的例子,在进行机器学习时,通常会把数据进行压平(如2828压为1784)
我们这个子类继承于nn.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,258),
            nn.ReLU(),
            nn.Linear(258, 10),

如其所示linear是线性分类器,ReLU是一最常见而经典的激活函数
这样设置相当于四层,输入维度为28* 28(1*784),最终输出10个特征值

函数参考:Sequential
Linear
ReLU

def forward(self, x):
        x = self.flatten(x)
        logits = self.linear_relu_stack(x)
        return logits

这里就开始定义,x即为压平后的张量,logits就是打包后的一个分类器

待更新中…

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011124.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号