PyTorch torch.sign函数介绍

torch.sign 是 PyTorch 库中用于计算输入张量每个元素符号的函数。下面从功能概述、函数原型、参数解释、返回值、使用示例以及与相关函数对比等方面详细介绍 torch.sign

功能概述

torch.sign 函数会返回一个与输入张量形状相同的新张量,其中每个元素的值表示输入张量对应元素的符号。具体规则为:

  • 如果输入元素为正数,输出元素为 1。
  • 如果输入元素为负数,输出元素为 -1。
  • 如果输入元素为零,输出元素为 0。

函数原型

复制代码
torch.sign(input, *, out=None)

参数解释

  • input:必需参数,为需要计算符号的输入张量,可以是任意形状和数据类型的张量。
  • out :可选参数,是一个用于存储输出结果的张量。如果指定了 out,计算结果将存储在这个张量中,并且 out 的形状和数据类型必须与输入张量经过 torch.sign 计算后的结果兼容。

返回值

返回一个新的张量,其形状与输入张量相同,数据类型为 torch.float32 或与 out 参数指定的张量的数据类型一致(如果指定了 out)。该张量中的每个元素表示输入张量对应元素的符号。

使用示例

简单示例
复制代码
import torch

# 创建一个输入张量
input_tensor = torch.tensor([-2.5, 0, 3.7])
# 计算符号
output_tensor = torch.sign(input_tensor)
print(output_tensor)

在这个示例中,输入张量包含负数、零和正数,经过 torch.sign 计算后,输出张量为 [-1., 0., 1.]

使用 out 参数
复制代码
import torch

# 创建输入张量
input_tensor = torch.tensor([-1.2, 0.5, 0])
# 创建用于存储输出结果的张量
out_tensor = torch.empty(3)
# 计算符号并将结果存储在 out_tensor 中
torch.sign(input_tensor, out=out_tensor)
print(out_tensor)

这里通过指定 out 参数,将计算结果存储在了 out_tensor 中。

与相关函数对比

  • torch.abstorch.abs 函数用于计算输入张量每个元素的绝对值,而 torch.sign 关注的是元素的符号。例如,对于输入 [-2, 3]torch.abs 的输出是 [2, 3],而 torch.sign 的输出是 [-1, 1]
  • torch.relutorch.relu 是一个激活函数,会将输入张量中小于零的元素置为零,大于等于零的元素保持不变。与 torch.sign 不同,torch.relu 更侧重于对输入值进行非线性变换,而不是单纯判断符号。

通过 torch.sign 函数,你可以方便地获取张量中每个元素的符号信息,这在很多数值计算和机器学习场景中都有应用,比如在梯度更新时根据梯度的符号进行相应的调整等。

相关推荐
蜜桃味女焊匠人14 分钟前
焊接生产线优化思路:解决手工焊、机器人焊气体浪费问题
人工智能·经验分享·其他·机器人
Georgeviewer5 小时前
商业落地评测|实体门店GEO优化性价比与服务体系深度复盘
大数据·人工智能
GuWenyue5 小时前
分不清AI Workflow与Agent?3个实战案例彻底讲透,做AI应用不再踩选型坑
人工智能
彩讯股份3006346 小时前
彩讯股份与心洲科技签署战略合作协议,共建企业级模型后训练能力
人工智能·科技
Scott9999HH6 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
迅易科技6 小时前
从场景验证到Agent上线:迅易 × WorkBuddy如何帮助企业建设AI能力?
人工智能·ai·腾讯云
PNP Robotics7 小时前
多伦多大学机器人峰会|物理AI与具身智能落地新趋势
人工智能·深度学习·机器学习·机器人
GIR1237 小时前
官方出品 | 多通道土壤呼吸测量系统市场现状与十五五规划深度报告:行业分析+趋势预测全收录
大数据·人工智能·机器学习
绿算技术7 小时前
绿算技术亮相第十八届HPC AI中国年会,擘画AI基础设施全栈协同新图景
人工智能
Litluecat7 小时前
2026年7月22日科技热点新闻
人工智能·科技·新闻·每日·速览