
请我喝杯咖啡☕
本篇博文将介绍 PyTorch 中的 linspace() 函数,它用于创建在起始值和结束值之间均匀分布的一维张量。
备忘录:
- 本系列博文已涵盖
arange()和logspace()函数。
linspace() 函数可以生成包含零个或多个均匀间隔的整数、浮点数或复数元素的一维张量。
备忘录:
-
linspace()函数可与torch对象一起使用,但不能直接与张量对象一起使用。 -
start参数(必需,类型:int、float、complex 或 bool):起始值。0 维张量也适用。 -
end参数(必需,类型:int、float、complex 或 bool):结束值。0 维张量也适用。 -
steps参数(必需,类型:int):生成的元素个数。必须大于等于 0,0 维张量也适用。 -
dtype参数(可选,默认:None,类型:dtype):输出张量的类型。如果为 None,则根据start、end和steps推断。对于浮点数,会使用torch.get_default_dtype()。本系列博文已涵盖get_default_dtype()和set_default_dtype()函数。 需要注意的是,仅设置整数类型的start和end不足以创建整数类型的一维张量,必须显式指定dtype参数为整数类型。必须使用dtype=的形式。本系列博文已涵盖dtype参数。 -
device参数(可选,默认:None,类型:str、int 或torch.device()):输出张量的设备。如果为 None,则使用torch.get_default_device()。本系列博文已涵盖get_default_device()和set_default_device()函数。必须使用device=的形式。本系列博文已涵盖device参数。 -
requires_grad参数(可选,默认:False,类型:bool):指示是否需要计算梯度。必须使用requires_grad=的形式。本系列博文已涵盖requires_grad参数。 -
out参数(可选,默认:None,类型:张量):输出张量。必须使用out=的形式。本系列博文已涵盖out参数。
以下是一些示例代码:
import torch print(torch.linspace(start=10, end=20, steps=0)) # tensor([]) print(torch.linspace(start=20, end=10, steps=0)) # tensor([]) print(torch.linspace(start=10., end=20., steps=1)) # tensor([10.]) print(torch.linspace(start=20, end=10, steps=1)) # tensor([20.]) print(torch.linspace(start=10., end=20., steps=2)) # tensor([10., 20.]) print(torch.linspace(start=20, end=10, steps=2)) # tensor([20., 10.]) print(torch.linspace(start=10., end=20., steps=3)) # tensor([10., 15., 20.]) print(torch.linspace(start=20, end=10, steps=3)) # tensor([20., 15., 10.]) print(torch.linspace(start=10., end=20., steps=4)) # tensor([10.0000, 13.3333, 16.6667, 20.0000]) print(torch.linspace(start=20., end=10., steps=4)) # tensor([20.0000, 16.6667, 13.3333, 10.0000]) print(torch.linspace(start=10, end=20, steps=4, dtype=torch.int64)) # 注意:结果仍然是浮点数 print(torch.linspace(start=torch.tensor(10), end=torch.tensor(20), steps=torch.tensor(4), dtype=torch.int64)) # 注意:结果仍然是浮点数 print(torch.linspace(start=10.+6.j, end=20.+3.j, steps=4)) print(torch.linspace(start=torch.tensor(10.+6.j), end=torch.tensor(20.+3.j), steps=torch.tensor(4))) print(torch.linspace(start=False, end=True, steps=4)) print(torch.linspace(start=torch.tensor(True), end=torch.tensor(False), steps=torch.tensor(4)))
通过这些例子,您可以了解 linspace() 函数的用法以及其参数的意义。 记住,对于整数类型输出,必须明确指定 dtype 参数。








