本文为 PyTorch 学习总结,讲解神经网络基础。欢迎交流
Numpy与Torch对比
Numpy 是处理矩阵等数据的模块,会使用多核加速运算。而 PyTorch 就是神经网络中的 Numpy,是 Torch(张量)的类型,张量的维度可以大于 2。
下面举例说明 Numpy 和 Torch 的一些区别:
# 首先引入包
import torch
import numpy as np
# 创造一个numpy的数据,reshape成2行3列
np_data = np.arange(6).reshape((2, 3))
# 将numpy转换为torch中tensor的数据
torch_data = torch.from_numpy(np_data)
# 将tensor转换为numpy的数据
tensor2array = torch_data.numpy()
print(
'\nnumpy', np_data,
'\ntorch', torch_data,
'\ntensor2array', tensor2array,
)
如果对运算形式感兴趣,推荐浏览 pytorch 官网文档。这里仅介绍一些基本的运算:
data = [-1, -2, 1, 2]
# 将data转换为32bit浮点数
tensor = torch.FloatTensor(data)
# abs,也可以是sin,mean,用法相同
print(
'\nabs',
'\nnumpy:', np.abs(data), # [1 2 1 2]
'\ntorch:', torch.abs(tensor), # [1 2 1 2]</