tensorflow::ops::BatchToSpace

#include <array_ops.h>

BatchToSpace pour les tenseurs 4D de type T.

Résumé

Il s'agit d'une version héritée de la fonction plus générale BatchToSpaceND .

Cette opération réorganise (permute) les données du lot en blocs de données spatiales, puis effectue un recadrage. Il s'agit de la transformation inverse de SpaceToBatch. Plus précisément, cette opération produit une copie du tenseur d'entrée où les valeurs de la dimension batch sont déplacées par blocs spatiaux vers les dimensions height height et width width , puis recadrées selon ces mêmes dimensions.

Arguments :

  • portée : un objet Scope
  • Entrée : tenseur 4D de forme [batch*block_size*block_size, height_pad/block_size, width_pad/block_size, depth] . Notez que la taille du lot du tenseur d’entrée doit être divisible par block_size * block_size .
  • crops : tenseur 2D d’entiers non négatifs de forme [2, 2] . Il spécifie le nombre d’éléments à extraire du résultat intermédiaire selon les dimensions spatiales, comme suit :
    crops = [[crop_top, crop_bottom], [crop_left, crop_right]]

Retours :

  • Output : 4D avec la forme [batch, height, width, depth] , où :
    height = height_pad - crop_top - crop_bottom
    width = width_pad - crop_left - crop_right

L'attribut block_size doit être supérieur à un. Il indique la taille du bloc.

Quelques exemples :

(1) Pour l'entrée suivante de forme [4, 1, 1, 1] et de taille de bloc de 2 :

[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]

Le tenseur de sortie a la forme [1, 2, 2, 1] et la valeur :

x = [[[[1], [2]], [[3], [4]]]]

(2) Pour l'entrée suivante de forme [4, 1, 1, 3] et de taille de bloc de 2 :

[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]

Le tenseur de sortie a la forme [1, 2, 2, 3] et la valeur :

x = [[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]

(3) Pour l'entrée suivante de forme [4, 2, 2, 1] et de taille de bloc de 2 :

x = [[[[1], [3]], [[9], [11]]],
     [[[2], [4]], [[10], [12]]],
     [[[5], [7]], [[13], [15]]],
     [[[6], [8]], [[14], [16]]]]

Le tenseur de sortie a la forme [1, 4, 4, 1] et la valeur :

x = [[[[1],   [2],  [3],  [4]],
     [[5],   [6],  [7],  [8]],
     [[9],  [10], [11],  [12]],
     [[13], [14], [15],  [16]]]]

(4) Pour l'entrée suivante de forme [8, 1, 2, 1] et de taille de bloc de 2 :

x = [[[[1], [3]]], [[[9], [11]]], [[[2], [4]]], [[[10], [12]]],
     [[[5], [7]]], [[[13], [15]]], [[[6], [8]]], [[[14], [16]]]]

Le tenseur de sortie a la forme [2, 2, 4, 1] et la valeur :

x = [[[[1], [3]], [[5], [7]]],
     [[[2], [4]], [[10], [12]]],
     [[[5], [7]], [[13], [15]]],
     [[[6], [8]], [[14], [16]]]]

Constructeurs et destructeurs

BatchToSpace (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input crops, int64 block_size)

attributs publics

operation
output

fonctions publiques

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

attributs publics

opération

Operation operation

sortir

::tensorflow::Output output

fonctions publiques

BatchToSpace

 BatchToSpace(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input crops,
  int64 block_size
)

nœud

::tensorflow::Node * node() const 

opérateur::tensorflow::Entrée

 operator::tensorflow::Input() const 

opérateur::tensorflow::Sortie

 operator::tensorflow::Output() const