欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Variable、Tensor、Numpy的转换

发布时间:2024/9/20 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Variable、Tensor、Numpy的转换 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Tensor <——> Numpy

Tensor与Numpy之间可以相互转换:
代码:

[plain] view plaincopy

  • import torch  
  • import numpy as np  
  •   
  • data = np.array([[1,2,3,4,5],[6,7,8,9,10]])  
  • print(data)  
  • # numpy -> tensor  
  • data_tensor = torch.from_numpy(data)  
  • print(data_tensor)  
  • # tensor -> numpy  
  • data_numpy = data_tensor.numpy()  
  • print(data_numpy)  
  • 输出:

    [plain] view plaincopy

  • [[ 1  2  3  4  5]  
  • [ 6  7  8  9 10]]  
  • tensor([[ 1,  2,  3,  4,  5],  
  • [ 6,  7,  8,  9, 10]], dtype=torch.int32)  
  • [[ 1  2  3  4  5]  
  • [ 6  7  8  9 10]]  
  • Variable -> Numpy

    Variable可以直接转为Numpy:

    [plain] view plaincopy

  • import torch  
  • from torch.autograd import Variable  
  •   
  • # 定义一个Variable  
  • data = Variable(torch.Tensor([4]),requires_grad = True)  
  • # Variable -> Numpy  
  • data_numpy = data.detach().numpy()  
  • print('Numpy:',data_numpy)  
  • 如果把requires_grad改为False,得到的是Tensor:

    [plain] view plaincopy

  • data_false = Variable(data_tensor,requires_grad = False)  
  • print(data_false)  
  • 输出:

    tensor([4.])

    Numpy ->Tensor -> Variable

    但是Numpy不可以直接转为Variable,所以要借助Tensor进行转换:

    [plain] view plaincopy

  • # Numpy --> Variable ( Numpy ->Tensor -> Variable )  
  • # 1. Numpy ->Tensor  
  • data_tensor = torch.from_numpy(data_numpy)  
  • print('Tensor:',data_tensor)  
  • # 2. Tensor -> Variable  
  • data_Variable = Variable(data_tensor,requires_grad = True)  
  • print('Variable:',data_Variable)  
  • 输出:

    [plain] view plaincopy

  • Numpy: [4.]  
  • Tensor: tensor([4.])Variable: tensor([4.], requires_grad=True)  
  • 若试图直接将Numpy转为Variable,

    data_Variable = Variable(data_numpy),会出现如下错误:

    来源:https://www.geek-share.com/detail/2774546287.html

    总结

    以上是生活随笔为你收集整理的Variable、Tensor、Numpy的转换的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。