pytorch框架语法学习(1)——多维矩阵(tensor)
2021/7/9 6:07:50
本文主要是介绍pytorch框架语法学习(1)——多维矩阵(tensor),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
pytorch框架语法学习(1)——多维矩阵(tensor)
在运用python编程时,总会遇到tensor张量,例如reshape(2,3,4,4)等多维矩阵。下面进行详细讲解。
下面展示一些 内联代码片
。
// 生成一个(2,3,4,4) import torch mask=torch.arange(96) mask = mask.reshape(2,3,4,4) print(mask)
结果如下:
tensor([[[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]],
[[16, 17, 18, 19], [20, 21, 22, 23], [24, 25, 26, 27], [28, 29, 30, 31]], [[32, 33, 34, 35], [36, 37, 38, 39], [40, 41, 42, 43], [44, 45, 46, 47]]], [[[48, 49, 50, 51], [52, 53, 54, 55], [56, 57, 58, 59], [60, 61, 62, 63]], [[64, 65, 66, 67], [68, 69, 70, 71], [72, 73, 74, 75], [76, 77, 78, 79]], [[80, 81, 82, 83], [84, 85, 86, 87], [88, 89, 90, 91], [92, 93, 94, 95]]]])
从结果可以看出,(2,3,4,4)tensor可以理解为矩阵的嵌套,最基本的形状为4x4的矩阵,3个4x4的矩阵构成一级嵌套矩阵,2个一级嵌套矩阵构成一个二级嵌套矩阵。如果这里有更多的维度,假若为(5,2,3,4,4),则这里表示的是5个二级嵌套矩阵组成的三级矩阵。这个三级矩阵有5行3列组成,其中每个元素为(3,4,4)的矩阵。(3,4,4)是由3个(4,4)的矩阵组成的矩阵。具体参见以下程序:
// An highlighted block mask=torch.arange(48) mask = mask.reshape(3,4,4) print(mask)
结果如下:
tensor([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]],
[[16, 17, 18, 19], [20, 21, 22, 23], [24, 25, 26, 27], [28, 29, 30, 31]], [[32, 33, 34, 35], [36, 37, 38, 39], [40, 41, 42, 43], [44, 45, 46, 47]]])
怎么取用其中的元素呢?
这里还以(2,3,4,4)矩阵为例进行说明:
下面展示一些 内联代码片
。
// An highlighted block #选取(2,3,4,4)矩阵的第0行,即以4x4矩阵作为元素构成的2行3列矩阵中的第0行。 mask[0] print(mask[0]) #结果如下所示 #选取(2,3,4,4)矩阵的第0行的第1个元素(这里的元素代表4x4的矩阵) mask[0][1] print(mask[0][1]) #选取(2,3,4,4)矩阵的第0行的第1个元素(这里的元素代表4x4的矩阵)矩阵的第2行。 mask[0][1][2] print(mask[0][1][2]) #选取(2,3,4,4)矩阵的第0行的第1个元素(这里的元素代表4x4的矩阵)矩阵的第2行中的第3个元素。
结果如下:
这篇关于pytorch框架语法学习(1)——多维矩阵(tensor)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享