- [
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