PyTorch_numpy转换为张量

有两种方法:

  1. 使用 from_numpy 可以将 ndarray 数组转换为 tensor,默认共享内存,使用 copy 函数避免共享。
  2. 使用 torch.tensor 可以将 ndarray 数组转换为 tensor,默认不共享内存

代码

import torch 
import numpy as np 

# from_numpy 函数的用法
def test01():
    data_numpy = np.array([2, 3, 4])
    data_tensor = torch.from_numpy(data_numpy) 

    print(type(data_numpy))
    print(type(data_tensor))

    # 默认共享内存
    data_numpy[0] = 100

    print(data_numpy)
    print(data_tensor)

    # 修改使不共享内存
    data_tensor = torch.from_numpy(data_numpy.copy())

    data_numpy[0] = 200

    print(data_numpy)
    print(data_tensor)

# torch.tensor 函数的用法
def test02():
    data_numpy = np.array([2, 3, 4])
    data_tensor = torch.tensor(data_numpy)

    #data_numpy[0] = 100
    data_tensor[0] = 100
    print(data_numpy)
    print(data_tensor)

if __name__ == "__main__":
    test02() 

你可能感兴趣的:(PyTorch,pytorch,numpy,人工智能)