Torch、Numpy和list之间数据互相转换

import torch
import numpy as np

定义一个np的数组

demo_ndndarray = np.random.randint(2,10,[1,5])
demo_ndndarray

Hint:numpy详细笔记numpy随机数组笔记有兴趣的可以看看噢

array([[3, 7, 3, 6, 3]])

numpy 转为 pytorch格式

demo_tensor = torch.from_numpy(demo_ndndarray)
demo_tensor
tensor([[3, 7, 3, 6, 3]], dtype=torch.int32)

torch 转为numpy

demo1_ndndarray = demo_tensor.numpy()
demo1_ndndarray
array([[3, 7, 3, 6, 3]])

numpy 转为 list格式

demo_list = list(demo_ndndarray.reshape(len(demo_ndndarray[0])))
demo_list 
[3, 7, 3, 6, 3]

list 转为 numpy 格式

demo2_ndndarray = np.array(demo_list)
demo2_ndndarray
array([3, 7, 3, 6, 3])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: torchnumpy是两个经常用于科学计算和机器学习的库。在处理数据时,我们经常需要在torchnumpy之间进行相互转化。 首先,将torch数据转为numpy数据可以通过torch.Tensor.numpy()方法实现。该方法会返回一个numpy数组,该数组和torch张量共享相同的底层数据存储。 例如,假设我们有一个torch张量x,可以通过以下代码将其转化为numpy数组: ```python import torch x = torch.tensor([1, 2, 3]) numpy_array = x.numpy() ``` 在这个例子中,numpy_array将是一个具有相同值[1, 2, 3]的numpy数组。 相反地,将numpy数据转为torch数据可以通过torch.from_numpy()函数实现。该函数会接收一个numpy数组作为参数,并返回一个torch张量。需要注意的是,当将numpy数据转化为torch数据时,它们不会共享相同的底层数据存储,而是创建一个新的torch张量。 以下是一个将numpy数组转化为torch张量的示例: ```python import numpy as np import torch numpy_array = np.array([1, 2, 3]) x = torch.from_numpy(numpy_array) ``` 在这个例子中,x将是一个包含相同值[1, 2, 3]的torch张量。 总结起来,torchnumpy数据的相互转化可以通过torch.Tensor.numpy()方法将torch数据转为numpy数据,以及通过torch.from_numpy()函数将numpy数据转为torch数据。这两种转化对于在torchnumpy之间无缝地交换数据非常有用,并且在进行机器学习任务时经常会用到。 ### 回答2: TorchNumpy是两种常用的处理数据和进行科学计算的库。由于它们的数据结构有所不同,所以在它们之间进行数据转换时, 需要使用特定的函数来完成。下面是Torch数据Numpy数据相互转化的方法。 1. 从Torch转换Numpy: 可以使用`numpy()`函数将一个Torch张量转换Numpy数组。例如: ```python import torch import numpy as np torch_data = torch.tensor([1, 2, 3]) numpy_data = torch_data.numpy() print(numpy_data) ``` 这将输出:`[1, 2, 3]`。将Torch张量转换Numpy数组时,两者共享相同的内存,因此对Numpy数组的修改也会影响到原始的Torch张量。 2. 从Numpy转换Torch: 可以使用`from_numpy()`函数将一个Numpy数组转换Torch张量。例如: ```python import torch import numpy as np numpy_data = np.array([1, 2, 3]) torch_data = torch.from_numpy(numpy_data) print(torch_data) ``` 这将输出:`tensor([1, 2, 3])`。同样地,将Numpy数组转换Torch张量时,它们也共享相同的内存,对Torch张量的修改也会反应到原始的Numpy数组上。 需要注意的是,在转换时,如果数据是在CPU上存储的,那么转换后的数据也将在CPU上。如果想将数据转换到GPU上,可以使用`.cuda()`方法将Torch张量放置在GPU上,或者使用`.to(device)`方法指定特定的设备。 总结起来,TorchNumpy之间数据转换可以通过`numpy()`函数和`from_numpy()`函数来进行。这两种方法在数据的处理和科学计算中非常有用,可以让我们在TorchNumpy之间轻松地交换和使用数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ACxz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值