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

PyTorch快速入门教程【小土堆】-神经网络-线性层及其他层介绍

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

PyTorch快速入门教程【小土堆】-神经网络-线性层及其他层介绍

1.Normalization Layers 正则化层

对输入采用正则化,加快神经网络的训练速度

torch.nn.BatchNorm2d(num_features,eps,momentum=0.1,affine=True,track_running_stats=True)

num_features: 是通道数channel

2.Linear Layers 线性层

torch.nn.Linear(in_features,out_features,bias=True)

in_features:输入层神经元个数

out_features:输出层神经元个数

bias:true 有偏置

代码示例:

import torch
import torchvision.datasets
from torch import nn
from torch.nn import Linear
from torch.utils.data import DataLoader

dataset=torchvision.datasets.CIFAR10("dataset",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader=DataLoader(dataset,batch_size=64,drop_last=True)
class Tudui(nn.Module):

    def __init__(self) -> None:
        super().__init__()
        self.linear1=Linear(196608,10)#输入神经元数196608,输出神经元数10

    def forward(self,input):
        output=self.linear1(input)
        return output
tudui=Tudui()
step=0
for data in dataloader:
    imgs,targets=data
    print(imgs.shape)
    #output=torch.reshape(imgs,(1,1,1,-1))#torch.Size([1, 1, 1, 196608]) 将输入展成一行
    output=torch.flatten(imgs)#将输入展成1行
    print(output.shape)
    output=tudui(output)#最后一个batch的数据里只有49152个,所以最后一个batch  linear1输入格式不对
    print(output.shape)


3.Dropout layers

介绍:在训练过程中随机将输入元素设为0,变成0的概率按照某个概率P

作用:防止过拟合

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

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

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