如何将PyTorch Tensor转换为python列表?
我当前的用例是将一个张量大小[1, 2048, 1, 1]转换为2048个元素的列表。
我的张量具有浮点值。是否有一个解决方案也考虑了int以及其他可能的数据类型?
Tom*_*ale 21
我发现Tensor.tolist()其中给出了以下用法示例:
>>> a = torch.randn(2, 2)
>>> a.tolist()
[[0.012766935862600803, 0.5415473580360413],
[-0.08909505605697632, 0.7729271650314331]]
>>> a[0,0].tolist()
0.012766935862600803
Run Code Online (Sandbox Code Playgroud)
因此,要回答该问题,请使用a.squeeze().tolist()删除size的所有尺寸1。
还考虑.flatten()是否不需要列表列表。
在遇到之前.tolist(),我在使用:
list = [element.item() for element in tensor.flatten()]
Run Code Online (Sandbox Code Playgroud)
这将张量展平为一个维,然后调用.item()将每个元素转换为Python数字。
要列出的张量:
a_list = embeddings.tolist()
Run Code Online (Sandbox Code Playgroud)
张量列表:
a_tensor = torch.Tensor(a_list).cuda()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19757 次 |
| 最近记录: |