问题描述:
好几次遇到这个问题,今天把它记录一下
一般用pytorch训练神经网络的时候,会出现tensor和numpy数据格式的相互转换。
前提条件:
环境引入
import torch
import numpy as np
创建一个numpy类型的数组并打印一下类型,其显示如下:
x = np.ones(5)
print(type(x))
#打印的数据类型
<class 'numpy.ndarray'>
一、numpy ----> tensor
使用torch.tensro(x)
说明一下x是numpy的数据类型,y是tensor数据类型
y = torch.tensor(x)
print(type(x)) #x的类型
print(type(y)) #y的类型
打印的结果如下:
#x的类型
<class 'numpy.ndarray'>
#y的类型
<class 'torch.Tensor'>
二、tensor ---> numpy
使用 y.numpy()
说明一下y是tensor数据类型;x是numpy的数据类型。
z = y.numpy()
print(type(y)) #y的类型
print(type(z)) #z的类型
打印的结果如下:
#y的类型
<class 'torch.Tensor'>
#z的类型
<class 'numpy.ndarray'>
参考博文:【python】numpy和tensor互相转换_numpy转tensor_机器不学习我学习的博客-CSDN博客