关于张量 tensor , 使用范围比较广,定义也相对复杂
下面从 tensorflow 的使用角度来理解
一,举个例子
一个人的基本信息:
姓名: 张三
性别:男
用 1 个数组形式表示:
[张三,男]
称为 1 阶张量,里面包含 2 个特性,表示为 [ 2 ]
如果有 2 个人呢?
[[张三,男],[李四,女]]
称为 2 阶张量,里面包含 2 个元素,每个元素有 2 个特性,表示为 [2,2]
如果是 3 个城市的人了
[[[张三,男],[李四,女]],[[李四,女],[王五,男]],[[张三,男],[王五,男]]]
称为 3 阶张量,表示为 [3,2,2]
这里的 tensor 张量用来描述数据的格式和内容
n 阶张量则以此类推
至于 0 阶张量,就是单独一个数字,只有大小
1 阶张量又被称为向量,有大小有方向
2 阶张量类似矩阵
二,再举个例子
一个像素有红绿蓝 3 中取值表示
[10,20,30]
这是 1 阶张量 [3]
一张图有 2 X 2 个像素组成
[ [[10,20,40],[40,50,60]], [[70,80,90],[90,80,70]] ]
因为要记录每个像素的位置,所以分开一行行表示
这是 3 阶张量 [2,2,3]
一共有 3 张图片
[ [ [[10,20,40],[40,50,60]], [[70,80,90],[90,80,70]] ], [ [[10,20,40],[40,50,60]], [[70,80,90],[90,80,70]] ], [ [[10,20,40],[40,50,60]], [[70,80,90],[90,80,70]] ] ]
这是 4 阶张量 [3,2,2,3]
那么有 1000 张图片
每张图片有 750 X 750 个像素
每个像素的颜色用红蓝绿 3 个指标值描述
那么这些图片的张量格式就是,[1000,750,750,3]
Leave a Reply