torch.Tensor.resize_#
- Tensor.resize_(*sizes, memory_format=torch.contiguous_format) Tensor #
将
self
张量的大小调整为指定的尺寸。如果元素数量大于当前存储大小,则会调整底层存储以适应新的元素数量。如果元素数量较小,则不会更改底层存储。现有元素会被保留,但任何新分配的内存都将是未初始化的。警告
这是一个底层方法。存储将被重新解释为 C 连续的,忽略当前的 strides(除非目标尺寸等于当前尺寸,此时张量将保持不变)。在大多数情况下,您将需要使用
view()
(它会检查连续性),或者reshape()
(如果需要会复制数据)。要使用自定义 strides 就地更改大小,请参阅set_()
。注意
如果
torch.use_deterministic_algorithms()
和torch.utils.deterministic.fill_uninitialized_memory
都设置为True
,则新元素将被初始化以防止使用结果作为操作的输入而产生非确定性行为。浮点数和复数值将被设置为 NaN,整数值将被设置为最大值。- 参数
sizes (torch.Size 或 int...) – 期望的大小
memory_format (
torch.memory_format
, 可选) – 张量的期望内存格式。默认为torch.contiguous_format
。请注意,如果self.size()
与sizes
匹配,则self
的内存格式将不受影响。
示例
>>> x = torch.tensor([[1, 2], [3, 4], [5, 6]]) >>> x.resize_(2, 2) tensor([[ 1, 2], [ 3, 4]])