【Python】torch.exp()和 torch.sigmoid()函数详解和示例

news2025/2/22 7:16:32

本文对torch.exp()和 torch.sigmoid()函数进行原理和示例讲解,以帮助大家理解和使用。

目录

  • torch.exp
    • 函数原理
    • 运行示例
  • torch.sigmoid()
    • 函数原理
    • 运行示例
    • torch.sigmoid相关知识
  • 结合运行

torch.exp

函数原理

torch.exp是PyTorch库中的一个函数,它的作用是对输入的张量进行按元素指数运算。

指数运算是将基数的指数次幂的结果,例如,计算e的x次幂,其中e是自然对数的底数。torch.exp返回一个新的张量,张量的形状和输入张量相同,但是每个元素都是输入元素的指数运算结果1。

函数原型:

torch.exp(input)

参数:input:输入张量。
返回值:返回一个包含指数运算结果的张量。

运行示例

import torch

# 创建张量x
x = torch.tensor([-2.0, -4.0, 0.0, 6.0, 8.0])
# 使用exp函数计算x
y = torch.exp(x)
#打印计算结果y
print(y)

输出结果:

tensor([1.3534e-01, 1.8316e-02, 1.0000e+00, 4.0343e+02, 2.9810e+03])

torch.sigmoid()

函数原理

torch.sigmoid是一个在PyTorch库中提供的函数,用于将任何实数映射到介于0和1之间的值。具体来说,torch.sigmoid接受一个张量作为输入,然后应用sigmoid函数到每个元素上。sigmoid函数的定义如下:

sigmoid(x) = 1 / (1 + exp(-x))

这意味着对于任何输入x,输出将是0和1之间的值。
函数原型:

torch.sigmoid(input)

参数:
input:一个Tensor或者是张量。
返回值:
返回一个Tensor,其值在0和1之间。

运行示例

import torch

# 创建张量x
x = torch.tensor([-2.0, -4.0, 0.0, 6.0, 8.0])
# 使用sigmoid函数计算x
y = torch.sigmoid(x)
#打印计算结果y
print(y)

输出:

tensor([0.1192, 0.0180, 0.5000, 0.9975, 0.9997])

torch.sigmoid相关知识

应用到张量:torch.sigmoid可以接受一个一维张量(向量)或二维张量(矩阵)作为输入。对于矩阵,每个元素都将独立地应用sigmoid函数。

元素级别的操作:Sigmoid函数在每个输入元素的上下文中进行操作,将它们映射到0到1的范围内。这使得它在神经网络中非常有用,特别是在需要将某些值保持在0到1范围内的场景中。

梯度问题:由于sigmoid函数将所有值映射到0和1之间,因此在其梯度在此范围内是非常大的(接近于1)。这使得在反向传播过程中梯度的计算变得容易。

与ReLU一起使用:尽管ReLU函数(及其变体)在许多神经网络架构中非常流行,但在某些情况下,特别是在处理具有正负无穷大输出的模型时,sigmoid函数可能更合适。
计算复杂度:与ReLU相比,sigmoid的计算复杂度稍高。这是因为在接近饱和值(即接近0或1)时,sigmoid函数的计算需要乘法和指数运算。然而,这通常可以通过优化库(如PyTorch)中的实现来隐藏,这些实现通常使用GPU加速以提高性能。

可解释性:sigmoid函数提供了一种直观的方式来解释模型输出。例如,如果模型的最后一层使用了sigmoid激活函数,那么模型的输出可以被解释为概率。这在二元分类问题中特别有用,其中模型的输出被解释为属于某一类的概率。

总之,torch.sigmoid是一个非常有用的函数,在许多神经网络架构中都有应用。它提供了一种有效且直观的方式将输入映射到0和1之间,并在需要解释模型输出的场景中特别有用。

结合运行

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1264956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++设计模式——工厂模式 :简单工厂、工厂方法、抽象工厂

工厂模式可以分为三种,简单工厂模式,工厂方法模式和抽象工厂模式。 那么,这三种工厂模式长啥样,又为啥会衍生出这三种模式来呢?本篇和大家一起来学习总结一下。 一、简单工厂模式 简单工厂SimpleFactory 负责创建所有…

Day12 qt QMianWindow,资源文件,对话框,布局方式,常用ui控件

QMianWindow 概述 QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏( menu bar )、多 个工具栏 (tool bars) 、多个铆接部件 (dock widgets) 、一个状态栏 (status bar) 及 一个中心部件 (central widget) 许多应用程序的基础…

Python内置类属性`__name__`属性的使用教程

更多Python学习内容:ipengtao.com Python中的__name__是一种内置的特殊属性,通常用于判断模块是作为主程序运行还是作为模块被导入。本文将深入讲解__name__属性的用法,通过丰富的示例代码展示其在不同情景下的应用。 模块作为主程序运行 当一…

软著项目推荐 深度学习二维码识别

文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 🔥 优质竞赛项目系列,今天…

西南科技大学数字电子技术实验二(SSI逻辑器件设计组合逻辑电路及FPGA实现 )FPGA部分

一、实验目的 1、掌握用SSI(小规模集成电路)逻辑器件设计组合电路的方法。 2、掌握组合逻辑电路的调试方法。 3、学会分析和解决实验中遇到的问题。 4、学会用FPGA实现本实验内容。 二、实验原理 包括:原理图绘制和实验原理简述 1、1位半加器 2、1位全加器 3、三…

基于SSM的高校学生实习管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

快上车~「黄钊的AI日报·第二季」预约抢跑群、锁定明晚早鸟价

本周,即将开启我的小报童专栏「黄钊的AI日报第二季」(12月1日~2月29日)。 周三(明天)晚上,会举办“抢跑群”活动,首发「早鸟票」、专栏内容及相关福利介绍,包括但不限于:…

服务器中启动和停止项目

服务器中启动和停止项目 一、前言二、使用命令启动和关闭项目1、启动项目2、停止项目 三、使用可执行脚本启动和关闭项目1、启动项目2、停止项目 一、前言 在服务器上部署项目,一般就是将项目挂在后台,如果是微服务首选docker-compose,但如果…

人工智能-优化算法之梯度下降

梯度下降 尽管梯度下降(gradient descent)很少直接用于深度学习, 但了解它是理解下一节随机梯度下降算法的关键。 例如,由于学习率过大,优化问题可能会发散,这种现象早已在梯度下降中出现。 同样地&#x…

二百零八、Hive——HiveSQL异常:Select查询数据正常,但SQL语句加上group by查询数据为空

一、目的 在HiveSQL的DWD层中,需要对原始数据进行去重在内的清洗,结果一开始其他数据类型的清洗工作都正常,直到碰到转向比数据。 一般的SQL查询有数据,但是加上group by以后就没数据; 一般的SQL查询有数据&#xf…

“SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展

近年来,国内外学者在生态系统的敏感性、适应能力和潜在影响等方面开展了大量的生态脆弱性研究,他们普遍将生态脆弱性概念与农牧交错带、喀斯特地区、黄土高原区、流域、城市等相结合,评价不同类型研究区的生态脆弱特征,其研究内容…

SpringBoot RestTemplate 的使用

一、简介 RestTemplate 在JDK HttpURLConnection、Apache HttpComponents、OkHttp等基础上&#xff0c;封装了更高级别的API&#xff0c;默认依赖JDK HttpURLConnection&#xff0c;连接方式默认长连接。 二、使用 2.1、引入依赖 <dependency><groupId>org.spri…

STK Components 二次开发- 卫星地面站

前期卫星地面站创建已经说过&#xff0c;本次说一下卫星和地面站可见性时卫星名称和轨迹线变色问题。 1.创建卫星 // Get the current TLE for the given satellite identifier. var tleList TwoLineElementSetHelper.GetTles(m_satelliteIdentifier, JulianDate.Now);// Us…

Ubuntu:安装Powershell

Powershell的安装与使用&#xff1a; 1&#xff09;安装Powershell&#xff1a;在终端依次运行以下命令即可&#xff1a; $ sudo apt-get update $ sudo apt-get install -y wget apt-transport-https software-properties-common $ wget -q "https://packages.microsof…

Asp.net core WebApi 配置自定义swaggerUI和中文注释

1.创建asp.net core webApi项目 默认会引入swagger的Nuget包 <PackageReference Include"Swashbuckle.AspNetCore" Version"6.2.3" />2.配置基本信息和中文注释&#xff08;默认是没有中文注释的&#xff09; 2.1创建一个新的controller using Micr…

(5h)Unity3D快速入门之Roll-A-Ball游戏开发

DAY1&#xff1a;Unity3D安装 链接 DAY2&#xff1a;构建场景&#xff0c;编写代码 链接 内容&#xff1a;WASD前后左右移动、摄像机跟随 DAY3&#xff1a;待更新 DAY4&#xff1a;待更新 DAY5&#xff1a;待更新

配置和运行yolov5时报错ModuleNotFoundError: No module named ‘ultralytics.yolo‘的解决方法

yolov5的官方文件 链接&#xff1a;https://pan.baidu.com/s/1WNoTDvBGDrgTfUiHDSB6Gg?pwd8MXz 提取码&#xff1a;8MXz 在终端里面运行detect.py文件&#xff0c;报下面的错误 分析上面的错误&#xff0c;发现是在utils/general.py文件里的39行处报错了。因为找不到check_r…

0004Java程序设计-ssm基于微信小程序的校园第二课堂

文章目录 摘 要目录系统设计开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅&#x1f427;裙&#xff1a;776871563 摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。…

Modbus平台:协议中间件(支持Modbus TCP、RTU、ASCII)

该程序可放置外网中&#xff0c;适用于DTU长连接&#xff08;心跳包必须包含DTU&#xff0c;可以是tcp/udp&#xff09;&#xff0c;也可以在内网中&#xff0c;短连接访问设备server 支持协议&#xff1a;Modbus TCP | RTU | ASCII 连接方式&#xff1a;TcpAtive: TCP主动 | …

3种在ArcGIS Pro中制作山体阴影的方法

山体阴影可以更直观的展现地貌特点&#xff0c;表达真实的地形&#xff0c;这里为大家介绍一下在ArcGIS Pro中制作山体阴影的方法&#xff0c;希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的DEM数据&#xff0c;除了DEM数据&#xff0c;常见的GIS数据…