系列文章目录
- pytorch学习1-数据加载以及Tensorboard可视化工具
- pytorch学习2-Transforms主要方法使用
- pytorch学习3-torchvisin和Dataloader的使用
- pytorch学习4-简易卷积实现
- pytorch学习5-最大池化层的使用
- pytorch学习6-非线性变换(ReLU和sigmoid)
- pytorch学习7-序列模型搭建
- pytorch学习8-损失函数与反向传播
- pytorch学习9-优化器学习
- pytorch学习10-网络模型的保存和加载
- pytorch学习11-完整的模型训练过程
文章目录
- 系列文章目录
- 一、非线性变换(ReLU和sigmoid)
- 总结
一、非线性变换(ReLU和sigmoid)
import torch
import torchvision.datasets
from torch import nn
from torch.nn import ReLU, Sigmoid
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriterinput=torch.tensor([[1,-0.5],[-1,3]
])
output=torch.reshape(input,(-1,1,2,2))
print(output.shape)dataset=torchvision.datasets.CIFAR10("./data6",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader=DataLoader(dataset,batch_size=64)
class Mynn(nn.Module):def __init__(self):super(Mynn,self).__init__()self.relu1=ReLU()#使用ReLU激活函数,inplace参数代表是不是覆盖原始数据,默认为Falseself.sigmoid=Sigmoid()##使用sigmoid激活函数# def forward(self,input):# output=self.relu1(input)# return outputdef forward(self,input):output=self.sigmoid(input)return output
mynn=Mynn()
writer=SummaryWriter("logs6")
step=0
for data in dataloader:#dataloader的每一批次,既包含图像又包含标签,所以要他们分出来单独处理imgs,taiget=datawriter.add_images("我是输入",imgs,step)output=mynn(imgs)writer.add_images("我是输出",output,step)step+=1
writer.close()
总结
以上就是今天要讲的内容,非线性变换(ReLU和sigmoid)