【pytorch】如何理解tensor的sum()函数(axis、keepdims)

函数: sum(axis=0,keepdim=True)
在二维向量中,axis=0表示行,axis=1表示列。
三维向量中(类比书本)axis=0表示页,axis=1表示行,axis=2表示列。
keepdims为True,表示求和前后shape不变,keepdims默认为False。

1.axis参数

axis=0,就去掉axis=0的维度。
例子(二维):原来shape为[5,4],–>(求和后)shape为[4]。可以理解为压扁axis=0。

sum(axis=0)

李沐老师b站手画图

2.keepdims参数

例子:三维,原来shape为[2,5,4]–>(求和后)shape为[2,1,4]

sum(axis=1,keepdim=True)

3.看个代码

在这里插入图片描述

4.参考

李沐老师-动手学深度学习

Python中,使用Tensor的具体用法可以根据不同的库和框架而有所不同。以下是一些常见的Python库和框架中Tensor的具体用法示例: 1. NumPy库: - 创建Tensor:使用`numpy.array()`函数可以创建一个NumPy的ndarray对象,它可以表示一个多维数组。例如:`import numpy as np; tensor = np.array([[1, 2, 3], [4, 5, 6]])` - 数学运算:NumPy提供了丰富的数学运算函数和方法,可以对Tensor进行各种数学运算。例如:`np.sum(tensor)`可以计算Tensor元素的总和。 - 索引和切片:可以使用索引和切片操作来访问和修改Tensor中的元素。例如:`tensor[0, 1]`可以访问第一行第二列的元素。 - 形状操作:使用`ndarray.shape`属性可以获取Tensor的形状。例如:`tensor.shape`可以获取Tensor的维度信息。 2. TensorFlow库: - 创建Tensor:使用`tf.constant()`函数可以创建一个TensorFlow的tf.Tensor对象。例如:`import tensorflow as tf; tensor = tf.constant([[1, 2, 3], [4, 5, 6]])` - 运算操作:TensorFlow提供了各种张量运算操作,如加法、乘法、矩阵乘法等。例如:`tf.add(tensor1, tensor2)`可以对两个Tensor进行加法操作。 - 张量变换:使用`tf.reshape()`函数可以改变Tensor的形状。例如:`tf.reshape(tensor, [3, 2])`可以将一个2x3的Tensor转换为一个3x2的Tensor。 - GPU加速:TensorFlow可以利用GPU进行计算,可以使用`tf.device()`函数Tensor放置在GPU上进行计算。 3. PyTorch库: - 创建Tensor:使用`torch.Tensor()`函数可以创建一个PyTorch的torch.Tensor对象。例如:`import torch; tensor = torch.Tensor([[1, 2, 3], [4, 5, 6]])` - 运算操作:PyTorch提供了各种张量运算操作,如加法、乘法、矩阵乘法等。例如:`torch.add(tensor1, tensor2)`可以对两个Tensor进行加法操作。 - 自动求导:PyTorch提供了自动求导功能,可以通过设置`requires_grad=True`来追踪Tensor的梯度信息,并进行反向传播。例如:`tensor.requires_grad=True` - 模型训练:PyTorch可以方便地构建和训练神经网络模型。可以使用`torch.nn.Module`类定义模型结构,使用`torch.optim`模块定义优化器,使用`torch.nn`模块定义各种层和激活函数。 以上是一些常见的Python库和框架中Tensor的具体用法示例,具体的用法还可以根据具体需求和场景进行进一步学习和探索。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值