torch.nn.ReLU(inplace=False)官网提供的API
其中inplace表示是否在对原始数据进行替换
由函数图可以看出,负数通过ReLU之后会变成0,正数则不发生变化

例如:input = -1,若inplace = True,表示对原始输入数据进行替换,当通过ReLU函数(负数输出均为0)之后,input = 0
若inplace = False(默认),表示不对原始输入数据进行替换,则需要通过另一个变量(例如output)来对ReLU函数的结果进行接收存储,通过ReLU函数之后,output = 0,input = -1
创建一个二维tensor数据,通过reshape转换成(batch_size,channel,H,W)类型数据格式
传入仅含有ReLU的神经网络中,运行结果可以看出,负数都变成了0,正数均保持不变
import torch
from torch import nn
input = torch.tensor([[1,-0.7],
[-0.8,2]])
input = torch.reshape(input,(-1,1,2,2))
print(input)
"""
tensor([[[[ 1.0000, -0.7000],
[-0.8000, 2.0000]]]])
"""
class Beyond(nn.Module):
def __init__(self):
super(Beyond,self).__init__()
self.relu_1 = torch.nn.ReLU()
def forward(self,input):
output = self.relu_1(input)
return output
beyond = Beyond()
output = beyond(input)
print(output)
"""
tensor([[[[1., 0.],
[0., 2.]]]])
"""
import torch
import torchvision
from torch import nn
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
dataset_test = torchvision.datasets.CIFAR10("CIFAR_10",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader = DataLoader(dataset_test,batch_size=64)
class Beyond(nn.Module):
def __init__(self):
super(Beyond,self).__init__()
self.relu_1 = torch.nn.ReLU()
def forward(self,input):
output = self.relu_1(input)
return output
writer = SummaryWriter("y_log")
beyond = Beyond()
i=0
for data in dataloader:
imgs,targets = data
writer.add_images("input_ReLU",imgs,i)
output = beyond(imgs)
writer.add_images("output_ReLU",output,i)
i = i + 1
writer.close()
在Terminal下运行tensorboard --logdir=y_log --port=9999,logdir为打开事件文件的路径,port为指定端口打开;
通过指定端口9999进行打开tensorboard,若不设置port参数,默认通过6006端口进行打开。

点击该链接或者复制链接到浏览器打开即可

创建一个二维tensor数据,通过reshape转换成(batch_size,channel,H,W)类型数据格式
传入仅含有Sigmoid的神经网络中,代入Sigmodi公式即可得到相应返回结果
import torch
from torch import nn
input = torch.tensor([[1,-0.7],
[-0.8,2]])
input = torch.reshape(input,(-1,1,2,2))
print(input)
"""
tensor([[[[ 1.0000, -0.7000],
[-0.8000, 2.0000]]]])
"""
class Beyond(nn.Module):
def __init__(self):
super(Beyond,self).__init__()
self.sigmoid_1 = torch.nn.Sigmoid()
def forward(self,input):
output = self.sigmoid_1(input)
return output
beyond = Beyond()
output = beyond(input)
print(output)
"""
tensor([[[[0.7311, 0.3318],
[0.3100, 0.8808]]]])
"""
import torch
import torchvision
from torch import nn
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
dataset_test = torchvision.datasets.CIFAR10("CIFAR_10",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader = DataLoader(dataset_test,batch_size=64)
class Beyond(nn.Module):
def __init__(self):
super(Beyond,self).__init__()
self.sigmoid_1 = torch.nn.Sigmoid()
def forward(self,input):
output = self.sigmoid_1(input)
return output
writer = SummaryWriter("y_log")
beyond = Beyond()
i=0
for data in dataloader:
imgs,targets = data
writer.add_images("input_Sigmoid",imgs,i)
output = beyond(imgs)
writer.add_images("output_Sigmoid",output,i)
i = i + 1
writer.close()
在Terminal下运行tensorboard --logdir=y_log --port=9999,logdir为打开事件文件的路径,port为指定端口打开;
通过指定端口9999进行打开tensorboard,若不设置port参数,默认通过6006端口进行打开。
