Esta página foi traduzida pela API Cloud Translation.
Switch to English

tf.shape

Versão TensorFlow 1 Ver fonte no GitHub

Retorna a forma de um tensor.

Usado nos cadernos

Usado no guia Usado nos tutoriais

Consulte também tf.size , tf.rank .

tf.shape retorna um tensor inteiro 1-D representando a forma da input .

Por exemplo:

t = tf.constant([[[1, 1, 1], [2, 2, 2]], [[3, 3, 3], [4, 4, 4]]])
tf.shape(t)
<tf.Tensor: shape=(3,), dtype=int32, numpy=array([2, 2, 3], dtype=int32)>
a = tf.keras.layers.Input((None, 10))
tf.shape(a)
<tf.Tensor ... shape=(3,) dtype=int32>

Nesses casos, o uso de tf.Tensor.shape retornará resultados mais informativos.

a.shape
TensorShape([None, None, 10])

(O primeiro None representa o tamanho do lote ainda desconhecido.)

tf.shape e Tensor.shape devem ser idênticos no modo ansioso. Em tf.function ou em um contexto compat.v1 , nem todas as dimensões podem ser conhecidas até o tempo de execução. Portanto, ao definir camadas e modelos personalizados para o modo gráfico, prefira o tf.shape(x) dinâmico em tf.shape(x) do x.shape estático.

input Um Tensor ou SparseTensor .
out_type (Opcional) O tipo de saída especificado da operação ( int32 ou int64 ). O padrão é tf.int32 .
name Um nome para a operação (opcional).

Um Tensor do tipo out_type .