神经网络-非线性激活

ReLU

python 复制代码
import torch
from torch import nn

input = torch.tensor([[1, -0.5],
                      [-1, 3]])
input = torch.reshape(input, (-1, 1, 2, 2))
print(input.shape) # torch.Size([1, 1, 2, 2])     .shape = .size()

class Tudui(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.relu1 = nn.ReLU()

    def forward(self, input):
        output = self.relu1(input)
        return output

tudui = Tudui()
output = tudui(input)
print(output) # tensor([[[[1., 0.],[0., 3.]]]])

Result

Sigmoid

python 复制代码
import torch
import torchvision
from torch import nn
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

'''input = torch.tensor([[1, -0.5],
                      [-1, 3]])
input = torch.reshape(input, (-1, 1, 2, 2))
print(input.shape) # torch.Size([1, 1, 2, 2])     .shape = .size()'''

dataset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=torchvision.transforms.ToTensor())
dataloader = DataLoader(dataset, batch_size=64, shuffle=True)
class Tudui(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.relu1 = nn.ReLU()
        self.sigmoid1 = nn.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, step)
    output = tudui(imgs)
    writer.add_images('output', output, step)
    step += 1

writer.close()

目的:引入非线性特征,非线性越多,才能训练出符合各种曲线,符合各种特征的模型,泛化能力好

下面是ReLU的结果

相关推荐
ones~14 分钟前
深度学习基础概念详解
人工智能·深度学习
Croa-vo16 分钟前
NVIDIA 2025 Deep Learning & Systems 岗位面试复盘 | C++并发与底层架构难度解析
c++·深度学习·面试
像风一样自由202037 分钟前
基于PyTorch实现U-Net的路面裂缝检测系统
人工智能·pytorch·python
九死九歌38 分钟前
【Sympydantic】使用sympydantic,利用pydantic告别numpy与pytorch编程中,tensor形状带来的烦人痛点!
开发语言·pytorch·python·机器学习·numpy·pydantic
@鱼香肉丝没有鱼1 小时前
Transformer原理—注意力机制
人工智能·深度学习·transformer·注意力机制
CoovallyAIHub1 小时前
如何让AI的数据标注“火眼金睛”?人机协同才是可靠途径
深度学习·算法·计算机视觉
阿正的梦工坊1 小时前
PyTorch 权重剪枝中的阈值计算:深入解读 numel() 和 torch.kthvalue()
人工智能·pytorch·剪枝
爱ZW的小白猿1 小时前
【pytorch】dataset类的使用
pytorch
Dekesas96951 小时前
基于YOLO11-seg的白蚁种类智能识别与分类系统——利用深度学习技术实现白蚁图像分割与多类别精准识别
深度学习·数据挖掘
无心水1 小时前
【神经风格迁移:性能优化】21、模型轻量化实战:让VGG19在CPU上实时运行
人工智能·神经网络·机器学习·gpu·vgg·神经风格迁移·神经风格迁移:性能优化