深度学习 - 多维数据和 tensor
在 tensorflow 中,模型输入和卷积核一般都是用 4-D 的 tensor 来表示,对于构建模型过程中,也都是在多维(超过 3 维)的 tensor 或者 numpy 数组(权重值 weights 和偏差 bias)进行相应的操作。
对于 1 维,2 维,3 维的数据,都可以通过可视化的方式进行直观的理解,有对应现实参照物。超过 3 维,数据表示和操作,就比较不好理解。诺兰的电影【星际穿越】的第五维空间,脑洞大开。这里就和大家一起看看多维数据的表示。
表示
我们先来看看 1 维,2 维,3 维的数据表示
看出,多维数据的表示的规律为 2 维数据的每个单元为 1 维数据,3 维数据的每个单元为 2 维数据。 从 shape 来看,最后一个为 1 维数据的单元个数, 倒数第二个为 2 维中的 1 维单元的个数,依此类推。
依照这个规律,4 维数据为多个三维数据的集合,5 维数据为多个 4 维数据的集合。
数据访问
某一维度单元数据访问,还是参照【从 shape 来看,最后一个为 1 维数据的单元个数, 倒数第二个为 2 维中的 1 维单元的个数】这个来理解
tensorflow 的 concat 连接理解
concat 的含义就是合并,tf.concat([v1,v2] , axis=3) 合并 axis 表示在哪一个维度进行合并拼接。
tf.concat([v1,v2],axis=3) # 1 维上合并,合并前 shape 为(2,2,2,3) 合并后为(2,2,2,6)
tf.concat([v1,v2],axis=2) # 2 维上合并,合并前 shape 为(2,2,2,3) 合并后为(2,2,4,3)
本文查看了 tensorflow 和 numpy 中的多维数据的构造和简要操作,希望对大家有帮助。
版权声明: 本文为 InfoQ 作者【AIWeker】的原创文章。
原文链接:【http://xie.infoq.cn/article/e38184f493588d664b27b4d3c】。文章转载请联系作者。
评论