神经网络-非线性激活

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的结果

相关推荐
Ro Jace3 小时前
机器学习、深度学习、信号处理领域常用符号速查表
深度学习·机器学习·信号处理
rengang665 小时前
03-深度学习与机器学习的对比:分析深度学习与传统机器学习的异同
人工智能·深度学习·机器学习
咕咚-萌西5 小时前
DeepSeek-OCR
人工智能·深度学习·ocr
rengang666 小时前
04-深度学习的基本概念:涵盖深度学习中的关键术语和原理
人工智能·深度学习
java1234_小锋6 小时前
PyTorch2 Python深度学习 - 卷积神经网络(CNN)介绍实例 - 使用MNIST识别手写数字示例
python·深度学习·cnn·pytorch2
雍凉明月夜6 小时前
人工智能学习中深度学习之python基础之迭代器、生成器、文件处理和模块等
python·深度学习·学习·pycharm
文火冰糖的硅基工坊6 小时前
[人工智能-大模型-122]:模型层 - RNN是通过神经元还是通过张量时间记录状态信息?时间状态信息是如何被更新的?
人工智能·rnn·深度学习
Dev7z6 小时前
基于深度学习的中国交通警察手势识别与指令优先级判定系统
人工智能·深度学习
程序员柳6 小时前
基于深度学习技术实现染色质开放区域的预测与分析系统源代码+数据库,采用Flask + Vue3 实现前后端分离的植物染色质可及性预测系统
数据库·深度学习·flask