这一部分比较简单
ReLU
公式:
图像
对应参数和输入输出的要求:
sigmoid
公式:
图像:
输入输出要求:
实例
import torch
import torchvision
from torch import nn
from torch.nn import ReLU, Sigmoid
from torch.utils.data.dataloader import DataLoader
from torch.utils.tensorboard import SummaryWriter
input = torch.tensor([[1, -0.5],
[-1, 3]])
print(input.shape)
# ReLU和sigmoid
class non_linear(nn.Module):
def __init__(self):
super(non_linear, self).__init__()
self.ReLu = ReLU()
self.sigmoid1 = Sigmoid()
def forward(self, input):
output = self.ReLu(input)
return output
# relu
non_linear = non_linear()
output = non_linear.ReLu(input)
print(output)
# sigmoid
dataset = torchvision.datasets.CIFAR10("../pytorch_learn/dataset2", train=False, transform=torchvision.transforms.ToTensor(), download=True)
dataloader = DataLoader(dataset, batch_size=64)
writer = SummaryWriter("logs_Non_linear_Activations")
step = 0
for data in dataloader:
img, traget = data
writer.add_images("input", img, step)
output = non_linear.sigmoid1(img)
writer.add_images("output", output, step)
step = step + 1
writer.close()