TensorFlow人工智能学习数据合并分割统计示例详解
一、数据合并与分割
1.tf.concat()
填入两个tensor, 指定某维度,在指定的维度合并。除了合并的维度之外,其他的维度必须相等。
2.tf.split()
填入tensor,指定维度,指定分割的数量。例如原数据维度是[2,4,35,8],当分割数量指定为2,维度是最后一维时,会分割成两个tensor,维度均是[2,4,35,4]。分割的维度,也可以直接指定数量及维度。比如指定为[2,2,4],则会分成三个tensor,最后一个维度分别是2,2,4。
3.tf.stack()
该方法会创造新的维度。要求两个合并的数据维度全部一样,在哪个维度合并,就会在哪个维度前面产生一个新维度,可以根据这个维度进行选择。
二、数据统计
注意:tf中指定维度的时候,就是把指定的维度上的内容进行操作,保留剩下的维度。
比如(2,3),求范数,如果指定axis=1,也就是列,那就是说,使用列上的3个数据,去求范数。得到的就是2维向量。也就是,指定了哪个维度,就会消去哪个维度。
1.tf.norm()
求范数,如果不指定几范数就是二范数。
指定ord=1就是1范数。可以指定维度,就是把指定的维度上的内容求范数,保留剩下的维度。
比如(2,3),如果指定axis=1,也就是列,那就是说,使用列上的3个数据,去求范数。得到的就是2维向量。也就是,指定了哪个维度,就会消去哪个维度。
2.reduce_min/max/mean()
求数据的最小值、最大值、均值。这里有一个reduce,意思是提醒我们维度会降低。
3.tf.argmax/argmin()
返回最大值、最小值的索引,如果不指定维度,那就是默认把第0维的求出来。
4.tf.equal()
填入两个tensor,形状需要一样,返回一样形状的布尔tensor,可以通过先转换成整型(1,0),再累加的方式,求得两个tensor中相同数据的数量。
5.tf.unique()
和numpy中的unique一样。