深度学习——numpy和torch的对比

一、简述

1.numpy是python中进行科学计算的一个模块,可以进行矩阵的运算等,常用来处理二维的存储数据。
2.torch是神经网络中的用于生成和处理多维存储数据的一个模块,不仅可以生成和处理二维数据,也可以生成和处理更高维度的数据。可以将其理解为神经网络中的numpy。

二、numpy和torch的对比

1.数据格式的对比

import torch
import numpy as np

numpy_data = np.arange(6).reshape(2, 3)
print("numpy_data为:\n", numpy_data)
print("numpy_data的数据类型为", type(numpy_data))

# 将numpy的数据转化成torch的形式
torch_data = torch.from_numpy(numpy_data)
print("torch_data为:\n", torch_data)
print("torch_data的数据类型为:", type(torch_data))

# 将torch的数据转化成numpy到达形式
numpy_data_2 = torch_data.numpy()
print("numpy_data_2为:\n", numpy_data_2)
print("numpy_data_2的数据类型为:", type(numpy_data_2))

在这里插入图片描述

2.基本运算的对比

(1)abs运算

import torch
import numpy as np


data = [-1, 2, -3, 5]
# 1.先将list形式转化为ndarray形式
# 2.再讲ndarray形式转化为tensor的形式
data_tensor = torch.from_numpy(np.array(data))

# abs运算
print("numpy求绝对值", np.abs(data))
print("pytorch求绝对值", torch.abs(data_tensor))

在这里插入图片描述

(2)矩阵相乘

import torch
import numpy as np

# 矩阵相乘
numpy_data = np.arange(4).reshape(2, 2)
torch_data = torch.from_numpy(numpy_data)
print("numpy中的矩阵相乘结果为\n", np.matmul(numpy_data, numpy_data))
print("torch中的矩阵相乘结果为\n", torch.mm(torch_data, torch_data))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Elon15/article/details/128861680