理解TensorFlow的shape,rank,dimension

版权声明:本文为博主原创,转载必须标明出处: https://blog.csdn.net/botao_li/article/details/84998476

TensorFlow中用tensor表示数据。可以将tensor理解为n维(n-dimensional)序列。

参考以下代码:

import tensorflow as tf

a = tf.constant(5)
# Tensor.shape返回类型为TensorShape
# a.shape等效于a.get_shape()
shape = a.shape.as_list()  # 用TensorShape.as_list()将shape值转化为list
print(shape)  # 输出: []
rank = a.shape.ndims  # 用TensorShape.ndims取得tensor的rank
print(rank)  # 输出: 0

b = tf.constant([5])
shape = b.shape.as_list()
print(shape)  # 输出: [1]
rank = b.shape.ndims
print(rank)  # 输出: 1

c = tf.constant([5, 4, 3])
shape = c.shape.as_list()
print(shape)  # 输出: [3]
rank = c.shape.ndims
print(rank)  # 输出: 1

d = tf.constant([[5, 4, 3], [2, 1, 0]])
shape = d.shape.as_list()
print(shape)  # 输出: [2, 3]
rank = d.shape.ndims
print(rank)  # 输出: 2

e = tf.constant([[[5, 4, 3], [2, 1, 0]]])
shape = e.shape.as_list()
print(shape)  # 输出: [1, 2, 3]
rank = e.shape.ndims
print(rank)  # 输出: 3

类型说明 shape rank Dimesion
标量 [] 0 0-D
向量 [Dimension0] 1 1-D
矩阵 [Dimension0, Dimension1] 2 2-D
3维序列 [Dimension0, Dimension1, Dimension2] 3 3-D
n维序列 [Dimension0, Dimension1, …, Dimension(n-1)] n n-D

猜你喜欢

转载自blog.csdn.net/botao_li/article/details/84998476