Pytorch学习笔记一----tensor与numpy数组的转换

主要看了莫烦老师的Pytorch教程,结合自己的理解和其他资料整理了第一次笔记。

torch的tensor与Numpy数组之间的转换

将torch的tensor转换为numpy数组:.numpy();;
将numpy数组转化为torch中的tensor:torch.from_numpy();


```python
import torch
import numpy as np

np_data = np.arange(6).reshape((2, 3))      # The form of array
torch_data = torch.from_numpy(np_data)      # Tensor print dtype=torch.int32
tensor2numpy = torch_data.numpy()           # if torch data, then.numpy();if np_data, then torch.from_numpy(*)

print(
    '\nnumpy:', np_data,
    '\ntorch:', torch_data,
    '\ntensor2numpy:', tensor2numpy
)

torch中的基本运算

对于torch中的一些运算如mean、sin、abs等等和numpy是非常类似的。

import torch
import numpy as np

data_array = [-1.0, -2.0, -3.0, -4.0]        
tensor = torch.FloatTensor(data_array)
print(
    '\nnumpy:', np.mean(data_array),
    '\ntorch:', torch.mean(tensor)
)

torch中的矩阵运算

讨论numpy的矩阵运算以及torch中的矩阵运算。
numpy:np.matmul( , )
torch:torch.mm( , )

import torch
import numpy as np

data_matrix = np.random.random(size=[2, 2])        
ten_mat_one = torch.from_numpy(data_matrix)
ten_mat_two = torch.FloatTensor(data_matrix)        

print(
    '\nnp:', np.matmul(data_matrix, data_matrix),
    '\ntorch1:', torch.mm(ten_mat_one, ten_mat_one),
    '\ntorch2:', torch.mm(ten_mat_two, ten_mat_two),
)

输出结果为:

np: [[0.16437834 0.13002956]
 [0.43754791 0.37941379]] 
torch1: tensor([[0.1644, 0.1300],
        [0.4375, 0.3794]], dtype=torch.float64) 
torch2: tensor([[0.1644, 0.1300],
        [0.4375, 0.3794]])

这里需要注意的是:
1.对于numpy随机生成矩阵时,要采用random下的一个random。
2.将munpy中的矩阵转化为torch中的tensor可以采用两种方法,一个是.torch.from_numpy(),另外一种是torch.Floattensor()。
3.将矩阵转变为一维数组用.ravel()语句。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值