torch.as_strided#
- torch.as_strided(input, size, stride, storage_offset=None) Tensor #
创建现有 torch.Tensor
input
的视图,并指定size
、stride
和storage_offset
。警告
建议使用其他视图函数,例如
torch.Tensor.view()
或torch.Tensor.expand()
,而不是使用 as_strided 手动设置视图的步长,因为此函数会在非标准 PyTorch 后端(没有步长概念的后端)上抛出错误,并且结果将取决于内存中的当前布局。构造的视图只能引用张量存储中的元素,否则将抛出运行时错误。如果生成的视图是“重叠的”(多个索引引用内存中的同一元素),则对此视图进行原地操作的行为是未定义的(并且可能不会抛出运行时错误)。- 参数
示例
>>> x = torch.randn(3, 3) >>> x tensor([[ 0.9039, 0.6291, 1.0795], [ 0.1586, 2.1939, -0.4900], [-0.1909, -0.7503, 1.9355]]) >>> t = torch.as_strided(x, (2, 2), (1, 2)) >>> t tensor([[0.9039, 1.0795], [0.6291, 0.1586]]) >>> t = torch.as_strided(x, (2, 2), (1, 2), 1) tensor([[0.6291, 0.1586], [1.0795, 2.1939]])