当前位置: 首页 > news >正文

神经网络——非线性激活

1 非线性激活

1.1 几种常见的非线性激活:

在这里插入图片描述

ReLU (Rectified Linear Unit)线性整流函数
在这里插入图片描述

Sigmoid
在这里插入图片描述
在这里插入图片描述

1.2代码实战:

1.2.1 ReLU

import torch
from torch import nn
from torch.nn import ReLUinput=torch.tensor([[1,-0.5],[-1,3]])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()def forward(self, input):output = self.relu1(input)return outputtudui=Tudui()
output=tudui(input)
print(output)
  • inplace 参数:是否在原来位置上更新

在这里插入图片描述

1.2.2 Sigmoid

import torch
import torchvision
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]])input=torch.reshape(input,(-1,1,2,2))
print(input.shape)dataset = torchvision.datasets.CIFAR10("./data", train=False,transform=torchvision.transforms.ToTensor(), download=True)
dataloader = DataLoader(dataset, batch_size=64)class Tudui(nn.Module):def __init__(self):super(Tudui,self).__init__()self.sigmoid1 = Sigmoid()def forward(self, input):output = self.sigmoid1(input)return outputtudui=Tudui()writer = SummaryWriter("logs_Non-linear")
step = 0for data in dataloader:imgs, targets = datawriter.add_images("input", imgs, step)output = tudui(imgs)writer.add_images("output",output, step)step = step + 1writer.close()

在这里插入图片描述

非线性变化的主要目的在于给网络引入非线性的特征。非线性特征越多,越能训练出符合各种曲线或特征的模型,从而提高模型的泛化能力。

2 线性层及其他层介绍:

2.1简要介绍nn模块里的各种层:

  • Normalization Layers正则化层
    正则化可以加快神经网络的训练速度,用的比较少,不作介绍,自己看文档

  • Recurrent Layers:
    一般用于文字识别,自己看文档。
    在这里插入图片描述

  • Transformer Layers:
    在这里插入图片描述

  • Linear Layers:
    在这里插入图片描述

  • Dropout Layers:
    在训练过程中,随机将输入张量的部分元素清零。主要作用是防止过拟合。

  • Saprse Layers: 
    用于自然语言处理。

  • Distance Functions:
    计算两个值之间的距离

  • Loss Functions:
    计算误差

2.2 Linear Layers讲解:

在这里插入图片描述

Linear Layers的weight和bias的初始化是正态分布,可参考官方文档。
在这里插入图片描述
在这里插入图片描述

2.3代码实战:

import torch
import torchvision
from torch import nn
from torch.nn import Linear
from torch.utils.data import DataLoaderdataset = torchvision.datasets.CIFAR10("./data", train=False,transform=torchvision.transforms.ToTensor(), download=True)
dataloader = DataLoader(dataset, batch_size=64)class Tudui(nn.Module):def __init__(self):super(Tudui,self).__init__()self.linear1 = Linear(196608,10)def forward(self, input):output = self.linear1(input)return outputtudui=Tudui()for data in dataloader:imgs, targets = dataprint(imgs.shape)output=torch.flatten(imgs)print(output.shape)output = tudui(output)print(output.shape)

在这里插入图片描述

torch.flatten()可以展平数据

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • wooyu漏洞库YYDS!!!入门之道:重现乌云漏洞库
  • 【Java EE】深入理解 Java 线程的生命周期与状态转换
  • Python 和 PyCharm 安装(傻瓜式)
  • C 06 编译4阶段
  • Linux 下 gdb 的使用
  • 10个企业网络安全建议,解决99%的网络安全问题
  • Clickhouse 二进制安装
  • 一个资深测试工程师面试一来就问我这些题目
  • 《黑神话·悟空》:国产3A大作背后是用什么语言开发的?
  • OpenGL实现3D游戏编程【连载5】——纹理坐标、纹理贴图
  • 链接 -- 动静态链接 --特点、区别、静态库安装下载
  • 基于huggingface peft进行qwen1.5-7b-chat训练/推理/服务发布
  • Java 入门指南:异常处理(Exception Handling)
  • 微信小程序记录(持续更新)
  • 嘉立创工程链接在哪里?
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 2017年终总结、随想
  • 2017前端实习生面试总结
  • CSS实用技巧
  • Javascript Math对象和Date对象常用方法详解
  • Java反射-动态类加载和重新加载
  • js中的正则表达式入门
  • LeetCode算法系列_0891_子序列宽度之和
  • log4j2输出到kafka
  • spring + angular 实现导出excel
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Vue 动态创建 component
  • 大整数乘法-表格法
  • 后端_ThinkPHP5
  • 离散点最小(凸)包围边界查找
  • 模仿 Go Sort 排序接口实现的自定义排序
  • UI设计初学者应该如何入门?
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • #etcd#安装时出错
  • #include
  • (09)Hive——CTE 公共表达式
  • (12)目标检测_SSD基于pytorch搭建代码
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (万字长文)Spring的核心知识尽揽其中
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)编辑寄语:因为爱心,所以美丽
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET 材料检测系统崩溃分析
  • .net 验证控件和javaScript的冲突问题
  • .NET简谈设计模式之(单件模式)
  • .net经典笔试题
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET框架类在ASP.NET中的使用(2) ——QA