请我喝杯咖啡☕
本篇博文将介绍 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 参数。
以上就是PyTorch 中的 linspace的详细内容,更多请关注php中文网其它相关文章!