torch.from_numpy()方法把数组转换成张量,且二者共享内存,对张量进行修改比如重新赋值,那么原始数组也会相应发生改变。
功能:torch.
from_numpy
(ndarray) → Tensor,即 从numpy.ndarray创建一个张量。
说明:返回的张量和ndarray共享同一内存。对张量的修改将反映在ndarray中,反之亦然。返回的张量是不能调整大小的。
参考:官方手册
举例:
import torch
import numpy
a = numpy.array([1, 2, 3])
print(a)
t = torch.from_numpy(a)
print(t)
t[0] = -1
print(a)
print(t)
a[0] = 101
print(a)
print(t)
输出
[1 2 3]
tensor([1, 2, 3], dtype=torch.int32)
[-1 2 3]
tensor([-1, 2, 3], dtype=torch.int32)
[101 2 3]
tensor([101, 2, 3], dtype=torch.int32)