einfach, tensor.shape
verwenden, um die statische Form zu erhalten:
In [102]: a = tf.placeholder(tf.float32, [None, 128])
# returns [None, 128]
In [103]: a.shape.as_list()
Out[103]: [None, 128]
Während die dynamische Form, erhalten tf.shape()
verwenden:
Sie können auch die Form erhalten, wie Sie würde in NumPy mit your_tensor.shape
wie im folgenden Beispiel.
In [11]: tensr = tf.constant([[1, 2, 3, 4, 5], [2, 3, 4, 5, 6]])
In [12]: tensr.shape
Out[12]: TensorShape([Dimension(2), Dimension(5)])
In [13]: list(tensr.shape)
Out[13]: [Dimension(2), Dimension(5)]
In [16]: print(tensr.shape)
(2, 5)
Auch dieses Beispiel für Tensoren, die eval
uated werden kann.
In [33]: tf.shape(tensr).eval().tolist()
Out[33]: [2, 5]
Ich fand [diese] (https://stackoverflow.com/a/41771268/1358091) sehr nützlich beantworten die Form eines Tensor zu analysieren, obwohl es nicht die akzeptiert ist. –