网站网页设计怎么收费,wordpress主题中的文件在哪,广告学,中国展陈公司前十名ReLU — PyTorch 2.3 documentation
torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io)
非线性变换的目的 非线性变换的目的是为神经网络引入一些非线性特征#xff0c;使其训练出一些符合各种曲线或各种特征的模型。 换句话来说#xff0c;如果模型都是直线特征的…ReLU — PyTorch 2.3 documentation
torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io)
非线性变换的目的 非线性变换的目的是为神经网络引入一些非线性特征使其训练出一些符合各种曲线或各种特征的模型。 换句话来说如果模型都是直线特征的话它的泛化能力会不够好。
torch.nn.ReLU
torch.nn.ReLU(inplaceFalse)torch.nn.modules.activation — PyTorch 2.3 documentation
inplace参数 inplaceTrue则会自动替换输入时的变量参数。如input-1ReLU(input,implaceTrue)那么输出后inputoutput0 inplaceTrue则不替换输入时的变量参数。如input-1ReLU(input,implaceTrue)那么输出后input-1output0
作用
input 0, output 0input 0, output input
计算公式 程序代码
示例1
import torch
from torch import nn
from torch.nn import ReLUinput torch.tensor([[1, -0.5],[-1, 3]
])
print(input.shape)input torch.reshape(input,(-1,1,2,2))
print(input.shape)class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.relu1 ReLU() #inplace bool 原数据是否被替换def forward(self, input):output self.relu1(input)return outputtudui Tudui()
output tudui(input)
print(output)
输出 示例2
import torchvision
from torch import nn
from torch.nn import ReLU, Sigmoid
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriterdataset torchvision.datasets.CIFAR10(root./dataset, trainFalse, transformtorchvision.transforms.ToTensor(),downloadTrue)
dataloader DataLoader(dataset, batch_size64)
# shuffle 是否打乱 False不打乱
# drop_last 最后一轮数据不够时是否舍弃 true舍弃class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.sigmoid1 Sigmoid() #inplace bool 原数据是否被替换def forward(self, input):output self.sigmoid1(input)return outputtudui Tudui()
step 1
writer SummaryWriter(logs)
for data in dataloader:imgs, targets datawriter.add_images(inputs,imgs,step)outputs tudui(imgs)writer.add_images(outputs,outputs,step)step 1writer.close()
在TensorBoard上看输出内容