ReLU
-
Replace的设置:

-
只有一个激活函数batch_size需要设置参数。
-
效果:
可操作的代码
# !usr/bin/env python3 # -*- coding:utf-8 -*- """ author :24nemo date :2021年07月07日 """ import torch import torchvision from torch import nn from torch.nn import ReLU, Sigmoid from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter ''' 非线性激活层只有一个batch_size需要设置参数 ''' input = torch.tensor([[1, -0.5], [-1, 3]]) input = torch.reshape(input, (-1, 1, 2, 2)) print(input.shape) dataset = torchvision.datasets.CIFAR10("../dataset", train=False, download=True, transform=torchvision.transforms.ToTensor()) dataloader = DataLoader(dataset, batch_size=64) class Tudui(nn.Module: def __init__(self): super(Tudui, self).__init__() self.relu1 = ReLU() self.sigmoid1 = Sigmoid() def forward(self, input): output = self.sigmoid1(input) return output tudui = Tudui() writer = SummaryWriter("../logs_relu") step = 0 for data in dataloader: imgs, targets = data writer.add_images("input", imgs, global_step=step) output = tudui(imgs) writer.add_images("output", output, step) step += 1 writer.close() ''' 实现的效果就是: torch.Size([1, 1, 2, 2]) tensor([[1., 0.], [0., 3.]]) ''' ''' 非线性变换的目的: 给网络中,引入非线性的特征,非线性特征多的话,才能训练出符合各种曲线或特征的模型 否则,泛化能力不好 '''
完整目录
- P6-P7 数据加载
- P8-9 Tensorboard使用
- P10-11 Transform的用法
- P12-13 常用的tranforms
- P14 torchvision中的数据集的使用
- P15 dataloader的使用
- P16 nn.Module
- P17 卷积
- P18 卷积层使用
- P19 池化
- P20 ReLU
- P21线性层和其它层
- P22 squential和小实战
- P23 loss function
- P24 优化器
- P25 pytorch中现有模型
- P26 网络模型的保存和加载
- P27、28、29 完整的模型套路
- P30 GPU加速
- P31 GPU加速_2
- P32 完整的模型验证套路
- P33 github的使用