如何解决如何从Pytorch的2D张量列表中获取列
我有一个一维2D列表,其中包含张量:
[
[tensor([-0.0705,1.2019]),tensor([[0]]),tensor([-1.3865],dtype=torch.float64),tensor([-0.0744,1.1880]),tensor([False])],[tensor([-0.0187,1.3574]),tensor([[2]]),tensor([0.3373],tensor([-0.0221,1.3473]),[....] ]
外部列表包含64个小列表。一个小列表包含5个不同的张量元素。
我想获取诸如tensor([-0.0705,1.2019])
和tensor([-0.0187,1.3574])
之类的内部列表的第一个元素,并创建诸如64x2之类的张量来馈入神经网络。
如何以最快的方式做到这一点?
谢谢
解决方法
如何使用切片?
import torch
import numpy as np
x = [
[torch.tensor([-0.0705,1.2019]),torch.tensor([0]),torch.tensor([-1.3865],dtype=torch.float64),torch.tensor([-0.0744,1.1880]),torch.tensor([False])],[torch.tensor([-0.0187,1.3574]),torch.tensor([2]),torch.tensor([0.3373],torch.tensor([-0.0221,1.3473]),torch.tensor([False])]]
x = list(map(lambda x:list(map(lambda z:z.tolist(),x)),x))
print(x)
x = np.array(x)[:,0]
x = list(map(lambda z:torch.tensor(z),x))
print(x)
,
[item[0] for item in your_list]
示例:
li = [[tensor([-0.0705,tensor([[0]]),tensor([-1.3865],tensor([-0.0744,tensor([False])],[tensor([-0.0187,tensor([[2]]),tensor([0.3373],tensor([-0.0221,tensor([False])]]
[item[0] for item in li]
[tensor([-0.0705,tensor([-0.0187,1.3574])]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。