Pytorch如何实现List和Tensor的转化,要注意哪些问题
Admin 2022-12-20 群英技术资讯 1063 次浏览
这篇主要是介绍“Pytorch如何实现List和Tensor的转化,要注意哪些问题”的内容了,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家解决Pytorch如何实现List和Tensor的转化,要注意哪些问题的问题,下面我们一起来了解看看吧。持续更新一些常用的Tensor操作,比如List,Numpy,Tensor之间的转换,Tensor的拼接,维度的变换等操作。
其它Tensor操作如 einsum等见:待更新。
用到两个函数:
torch.cattorch.stack
// An highlighted block
>>> t1 = torch.FloatTensor([[1,2],[5,6]])
>>> t2 = torch.FloatTensor([[3,4],[7,8]])
>>> l = []
>>> l.append(t1)
>>> l.append(t2)
>>> ta = torch.cat(l,dim=0)
>>> ta = torch.cat(l,dim=0).reshape(2,2,2)
>>> tb = torch.cat(l,dim=1).reshape(2,2,2)
>>> ta
tensor([[[1., 2.],
[5., 6.]],
[[3., 4.],
[7., 8.]]])
>>> tb
tensor([[[1., 2.],
[3., 4.]],
[[5., 6.],
[7., 8.]]])
** 如果理解了2D to 3DTensor,以此类推,不难理解3D to 4D,看下面代码即可明白:**
>>> t1 = torch.range(1,8).reshape(2,2,2)
>>> t2 = torch.range(11,18).reshape(2,2,2)
>>> l = []
>>> l.append(t1)
>>> l.append(t2)
>>> torch.cat(l,dim=2).reshape(2,2,2,2)
tensor([[[[ 1., 2.],
[11., 12.]],
[[ 3., 4.],
[13., 14.]]],
[[[ 5., 6.],
[15., 16.]],
[[ 7., 8.],
[17., 18.]]]])
>>> torch.cat(l,dim=1).reshape(2,2,2,2)
tensor([[[[ 1., 2.],
[ 3., 4.]],
[[11., 12.],
[13., 14.]]],
[[[ 5., 6.],
[ 7., 8.]],
[[15., 16.],
[17., 18.]]]])
>>> torch.cat(l,dim=0).reshape(2,2,2,2)
tensor([[[[ 1., 2.],
[ 3., 4.]],
[[ 5., 6.],
[ 7., 8.]]],
[[[11., 12.],
[13., 14.]],
[[15., 16.],
[17., 18.]]]])

代码:
import torch t1 = torch.FloatTensor([[1,2],[5,6]]) t2 = torch.FloatTensor([[3,4],[7,8]]) l = [t1, t2] t3 = torch.stack(l, dim=2) print(t3.shape) print(t3) ## output: ## torch.Size([2, 2, 2]) ## tensor([[[1., 3.], ## [2., 4.]], ## [[5., 7.], ## [6., 8.]]])
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天教大家用Python打包exe时各种异常处理的方案总结,下文中有非常详细的介绍,对正在学习python的小伙伴们很有帮助哟,需要的朋友可以参考下
这篇文章主要给大家分享的是关于pytorch中使用cuda处理数据的内容,小编认为比较实用,因此分享给大家作参考,下文有具体的方法和实例,感兴趣的朋友跟随小编一起来了解一下吧。
这篇文章主要介绍了matlab xlabel位置的设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
何为pythonicpythonic如果翻译成中文的话就是很python。很+名词结构的用法在中国不少,比如:很娘,很国足,很CCTV等等。我的理解为,很+名词表达了一种特殊和强调的意味。所以很pyt
这篇文章主要介绍了Python使用re模块实现okenizer,我们这里讲解用正则表达式构建简单的表达式分词器(tokenizer),它能够将表达式字符串从左到右解析为标记(tokens)流,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008