三维list转换torch张亮
时间: 2023-08-12 07:06:06 浏览: 45
将一个三维list转换为PyTorch张量,可以使用三级循环嵌套来遍历每个元素,并将其转换为张量。
下面是一个示例代码,将一个三维列表`s`转换为PyTorch张量:
```
import torch
s = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
dim1 = len(s)
dim2 = len(s[0])
dim3 = len(s[0][0])
tensor_s = torch.zeros((dim1, dim2, dim3))
for i in range(dim1):
for j in range(dim2):
for k in range(dim3):
tensor_s[i][j][k] = s[i][j][k]
print(tensor_s)
```
首先,我们使用`len()`函数获取`s`的三个维度的大小,并创建一个大小为`(dim1, dim2, dim3)`的全0张量`tensor_s`。然后,使用三级循环嵌套遍历`s`中的每个元素,并将其赋值给`tensor_s`中对应的元素。最后输出`tensor_s`的值,即为将`s`转换为PyTorch张量后的结果。
需要注意的是,这里我们使用了`torch.zeros()`函数来创建一个全0张量,因为在遍历`s`中的元素时,我们需要先创建一个与`s`相同大小的张量。如果`s`中的元素是浮点数,我们也可以使用`torch.ones()`函数来创建全1张量,或者使用`torch.tensor(s)`直接将`s`转换为张量。