torch.from_numpy
是 PyTorch 中的一个函数,用于将 NumPy 数组转换为 PyTorch 的 Tensor。这个函数主要用于共享底层数据内存,而不进行数据的复制。
具体用法如下:
import torch
import numpy as np
# 创建一个 NumPy 数组
numpy_array = np.array([1, 2, 3])
# 使用 torch.from_numpy 将 NumPy 数组转换为 PyTorch Tensor
torch_tensor = torch.from_numpy(numpy_array)
在上述示例中,torch_tensor
将是一个 PyTorch Tensor,与 numpy_array
共享底层的数据内存。
需要注意的是,torch.from_numpy
的输入应该是一个 NumPy 数组。如果输入是一个 Python 列表,需要先将列表转换为 NumPy 数组,然后再使用 torch.from_numpy
。
python_list = [1, 2, 3]
# 将 Python 列表转换为 NumPy 数组
numpy_array = np.array(python_list)
# 使用 torch.from_numpy 将 NumPy 数组转换为 PyTorch Tensor
torch_tensor = torch.from_numpy(numpy_array)
这个函数在处理大型数据集时很有用,因为它避免了不必要的数据复制,提高了效率。