【PyTorch】6.张量运算函数:一键开启!PyTorch 张量函数的宝藏工厂

目录

[1. 常见运算函数](#1. 常见运算函数)


个人主页:Icomi

专栏地址:PyTorch入门

在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活的平台。神经网络作为人工智能的核心技术,能够处理复杂的数据模式。通过 PyTorch,我们可以轻松搭建各类神经网络模型,实现从基础到高级的人工智能应用。接下来,就让我们一同走进 PyTorch 的世界,探索神经网络与人工智能的奥秘。本系列为PyTorch入门文章,若各位大佬想持续跟进,欢迎与我交流互关。

大家好,前面我们着重探讨了掌握张量形状操作对于搭建网络模型的重要性,就如同搭建一座精密的机械装置,每个零件(张量形状)都得严丝合缝,才能确保整个装置正常运转。现在,我们又要解锁 PyTorch 赋予我们的另一大 "秘密武器"------ 为每个张量封装的众多实用计算函数。

想象一下,我们手中的张量就像是一个装满各种数据的多功能宝箱,而 PyTorch 为这个宝箱配备了一系列神奇的 "魔法工具",这些工具就是那些实用的计算函数。比如说,当我们需要了解宝箱里数据的整体平均水平时,就可以使用计算均值的函数,它就像一个精准的 "数据天平",能快速帮我们算出数据的平均值。

再看平方根函数,这就好比一个能将数据进行特定 "变形" 的神奇模具。当我们希望对张量中的每个数据进行特定数学变换时,平方根函数就能大显身手,把数据转换为平方根形式,为后续的计算或分析做好准备。

还有求和函数,它如同一个勤劳的 "数据收纳员",能将张量里的所有数据快速汇总相加,得出总和。无论是在简单的数据统计,还是复杂的网络模型计算中,这个功能都非常实用。

在我们运用 PyTorch 进行深度学习任务时,这些函数就像一群得力的助手,时刻准备为我们的计算需求提供高效支持。无论是数据预处理阶段,还是模型训练过程中的中间计算环节,它们都能发挥关键作用。

1. 常见运算函数

PyTorch 为每个张量封装很多实用的计算函数,例如计算均值、平方根、求和等等

python 复制代码
import torch


def test():

    data = torch.randint(0, 10, [2, 3], dtype=torch.float64)
    print(data)
    print('-' * 50)

    # 1. 计算均值
    # 注意: tensor 必须为 Float 或者 Double 类型
    print(data.mean())
    print(data.mean(dim=0))  # 按列计算均值
    print(data.mean(dim=1))  # 按行计算均值
    print('-' * 50)

    # 2. 计算总和
    print(data.sum())
    print(data.sum(dim=0))
    print(data.sum(dim=1))
    print('-' * 50)

    # 3. 计算平方
    print(data.pow(2))
    print('-' * 50)

    # 4. 计算平方根
    print(data.sqrt())
    print('-' * 50)

    # 5. 指数计算, e^n 次方
    print(data.exp())
    print('-' * 50)

    # 6. 对数计算
    print(data.log())  # 以 e 为底
    print(data.log2())
    print(data.log10())


if __name__ == '__main__':
    test()

运行结果:

python 复制代码
tensor([[4., 0., 7.],
        [6., 3., 5.]], dtype=torch.float64)
--------------------------------------------------
tensor(4.1667, dtype=torch.float64)
tensor([5.0000, 1.5000, 6.0000], dtype=torch.float64)
tensor([3.6667, 4.6667], dtype=torch.float64)
--------------------------------------------------
tensor(25., dtype=torch.float64)
tensor([10.,  3., 12.], dtype=torch.float64)
tensor([11., 14.], dtype=torch.float64)
--------------------------------------------------
tensor([[16.,  0., 49.],
        [36.,  9., 25.]], dtype=torch.float64)
--------------------------------------------------
tensor([[2.0000, 0.0000, 2.6458],
        [2.4495, 1.7321, 2.2361]], dtype=torch.float64)
--------------------------------------------------
tensor([[5.4598e+01, 1.0000e+00, 1.0966e+03],
        [4.0343e+02, 2.0086e+01, 1.4841e+02]], dtype=torch.float64)
--------------------------------------------------
tensor([[1.3863,   -inf, 1.9459],
        [1.7918, 1.0986, 1.6094]], dtype=torch.float64)
tensor([[2.0000,   -inf, 2.8074],
        [2.5850, 1.5850, 2.3219]], dtype=torch.float64)
tensor([[0.6021,   -inf, 0.8451],
        [0.7782, 0.4771, 0.6990]], dtype=torch.float64)
相关推荐
海宇数据13 小时前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化残值评估网关
人工智能·python·架构·自动化
深度学习lover13 小时前
<数据集>蚜虫识别<目标检测>
人工智能·深度学习·yolo·目标检测·计算机视觉·蚜虫识别
孙启超13 小时前
【AI开发之Rust】第 1 课:认识 Rust 与开发环境 —— 装好工具链,跑通第一个程序
开发语言·人工智能·后端·ai·rust·安全架构
桃西西呀13 小时前
GPT-6 Astra 强到被锁起来:拆开它的 computer-use 架构、可搜索记忆与计费悬崖
人工智能·gpt·llm
开发笔记-阿牛13 小时前
嵌入式蓝牙开发:AC2005B 芯片技术解析 —— 省晶振设计、13dBm 射频与 Auracast 广播音响开发指南
人工智能·单片机·音视频
李可以量化13 小时前
Tornado 如何增加网页操作(下)
python
大树8813 小时前
液冷系统的真正瓶颈,藏在那层不到1毫米的材料里
大数据·运维·服务器·人工智能·ai
ChampaignWolf13 小时前
SAP 官方 ABAP MCP Server 正式落地:ABAP 开发进入 Agentic AI 时代
人工智能·sap·abap·人工智能ai·mcp
Beyond_System|系统之外13 小时前
ChatGPT5.2_Codex_零基础图文手册
人工智能
码农哈丁13 小时前
用 Trait 给系统留出后路:RAG 存储层如何做到 5 种后端可插拔
人工智能·知识图谱·rag