首页 > 其他分享 >pytorch的基础函数

pytorch的基础函数

时间:2024-03-29 14:59:54浏览次数:22  
标签:函数 sum torch 基础 张量 pytorch print dot tensor

  • [torch.arange]

是 PyTorch 中的一个函数,用于生成一个一维的张量(tensor),其中包含从起始值(包括)到结束值(不包括)的等差数列。这个函数非常类似于 Python 的内置 range 函数,但是生成的是 PyTorch 张量而不是 Python 列表。

torch.arange(start=0, end, step=1, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
  • start (int,可选) – 序列的起始值。默认为 0。

  • end (int) – 序列的结束值,但不包括该值。

  • step (int,可选) – 序列中两个值之间的间隔。默认为 1。

  • out (Tensor,可选) – 输出张量。

  • dtype (torch.dtype,可选) – 返回张量的数据类型。

  • layout (torch.layout,可选) – 返回张量的布局。

  • device (torch.device,可选) – 返回张量的设备。

  • requires_grad (bool,可选) – 如果设置为 True,则张量将需要梯度计算。默认为 False。

  • [clone()]
    在 PyTorch 中,A.clone() 用于创建一个与原始张量 A 具有相同数据的新张量 B。这意味着 B 是 A 的一个副本,它们包含相同的值,但是是两个独立的对象,存储在不同的内存位置。对 B 的任何修改都不会影响 A,反之亦然。

import torch  
  
# 创建一个张量 A  
A = torch.tensor([1, 2, 3, 4])  
  
# 使用 clone() 方法创建 A 的一个副本 B  
B = A.clone()  
  
# 修改 B 的值  
B[0] = 100  
  
# 输出 A 和 B 的值,以确认它们是否独立  
print(A)  # 输出:tensor([1, 2, 3, 4])  
print(B)  # 输出:tensor([100, 2, 3, 4])
  • [sum()]
    在PyTorch中,A.sum()是一个操作,用于计算张量A中所有元素的和。这个操作会沿着张量的所有维度进行求和,除非指定了特定的维度。
    例如,如果A是一个一维张量(类似于一个向量),A.sum()会返回张量中所有元素的和。
import torch  
  
A = torch.tensor([1, 2, 3, 4, 5])  
sum_of_A = A.sum()  
print(sum_of_A)  # 输出:15

如果A是一个二维张量(类似于一个矩阵),A.sum()会返回矩阵中所有元素的和。

A = torch.tensor([[1, 2, 3],  
                   [4, 5, 6]])  
sum_of_A = A.sum()  
print(sum_of_A)  # 输出:21

如果想要沿着特定的维度求和这需要给一个dim参数

A = torch.tensor([[1, 2, 3],  
                   [4, 5, 6]])  
sum_along_rows = A.sum(dim=0)  # 沿着行(第一个维度)求和  
print(sum_along_rows)  # 输出:tensor([5, 7, 9])
sum_along_cols = A.sum(dim=1)  # 沿着列(第二个维度)求和  
print(sum_along_cols)  # 输出:tensor([ 6, 15])
  • [numel()]
    在PyTorch中,A.numel() 是一个方法,用于返回张量 A 中元素的总数。这个方法计算张量中所有维度大小的乘积,从而得出元素的总数。
A = torch.tensor([[1, 2, 3],  
                   [4, 5, 6]])  
num_elements = A.numel()  
print(num_elements)  # 输出:6
  • [torch.dot()]
    torch.dot() 函数用于计算两个一维张量(向量)的点积(dot product)。点积是对应元素相乘后的和。如果尝试对更高维度的张量使用 torch.dot(),将会抛出错误,因为 torch.dot() 只适用于一维张量。
import torch  
  
# 创建两个一维张量  
a = torch.tensor([1.0, 2.0, 3.0])  
b = torch.tensor([4.0, 5.0, 6.0])  
  
# 计算点积  
dot_product = torch.dot(a, b)  
print(dot_product)  # 输出:32.0

标签:函数,sum,torch,基础,张量,pytorch,print,dot,tensor
From: https://www.cnblogs.com/cxy8/p/18102261

相关文章

  • 基础K线组合形态
    ------......
  • 【小黑送书—第十四期】>>重磅升级——《Excel函数与公式应用大全》(文末送书)
    今天给大家带来AI时代系列书籍:《Excel2019函数与公式应用大全》全新升级版,ExcelHome多位微软全球MVP专家打造,精选ExcelHome海量案例,披露Excel专家多年研究成果,让你分分钟搞定海量数据运算!由北京大学出版社出版,上一版长期雄踞Excel函数类图书销量前列,《Excel2019函数与......
  • 逻辑回归中交叉熵损失函数的梯度
    要给出逻辑回归中交叉熵损失函数最小化的梯度推导过程,我们首先定义损失函数和模型预测的形式。对于二分类逻辑回归,模型预测使用sigmoid函数,即:\[\hat{y}_i=\sigma(z_i)=\frac{1}{1+e^{-z_i}}\]其中,\(z_i=X_i\cdot\theta\)是模型对第\(i\)个样本的线性预测,\(X_i\)是样本......
  • Bootloader/IAP零基础入门(1.1) —— 设计一个Bootloader引导进入APP的程序,包含中断向量
    前言(1)如果有嵌入式企业需要招聘湖南区域日常实习生,任何区域的暑假Linux驱动/单片机/RTOS的实习岗位,可C站直接私聊,或者邮件:[email protected],此消息至2025年1月1日前均有效(2)在上一章节中,我们详细介绍了如何让Bootloader引导进入APP程序。但是上一章节的工程是无法使用......
  • QMIX:用于深度多智能体强化学习的单调值函数分解
    目录QMIX:MonotonicValueFunctionFactorisationfor DeepMulti-AgentReinforcementLearningQMIX:用于深度多智能体强化学习的单调值函数分解Abstract 摘要1Introduction引言2RelatedWork 2相关工作3Background 3背景 3.1Deep Q-Learning 3.1深......
  • MYSQL聚合函数的使用方法
    前言数据库名称可以为【schoolDB】,字符集【utf8】,排序规则【utf8_general_ci】。1.建表语句——DDL​CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULLCOMMENT'创建时间',`userName`varchar(......
  • HTML基础标签
    基础标签:加粗标签:加粗标签:      作用:为文本添加加粗效果      基本语法:        <b>文本</b>  <strong>文本</strong>      注意:双标签      书写标签时:快捷键:记住标签的单词,直接配合tab/回车键,直......
  • 零基础转行学Python有发展前景吗?
    前言Python可用的地方非常多。无论是从入门级选手(爬虫、前端、后端、自动化运维)到专业级数据挖掘、科学计算、图像处理、人工智能,Python都可以胜任。或许是因为这种万能属性,周围好更多的小伙伴都开始学习Python。而现在Python的火爆已经来到了程序员的圈子外,进入了国务院......
  • 如何将几个长度相同的列表并列组合在一起(附:zip函数使用出错原因:巨坑~)
        Python中列表对象使用很方便,用Python编程时,经常会遇到将多个长度相同的列表是针对某一组特定对象的,如何能方便的把这些列表组合起来一起使用呢?ZIP()函数可以方便的解决这个问题。一、将几个长度相同的列表并列组合例如,设置四个列表ID=[1,2,3,4]Name=['小......
  • 探索人工智能与强化学习:从基础原理到应用前景
    人工智能(ArtificialIntelligence,AI)是当今科技领域的热点话题,而强化学习(ReinforcementLearning,RL)作为其重要分支,在推动着智能系统向前迈进。本文将深入探讨AI与强化学习的基本原理、关键技术以及未来的应用前景,以期为读者提供全面的认识和理解。强化学习的基本原理强化学......