flux tensoriel : : opérations : : DepthwiseConv2dNative
#include <nn_ops.h>
Calcule une convolution en profondeur 2D à partir des tenseurs input
et filter
4D.
Résumé
Étant donné un tenseur d'entrée de forme [batch, in_height, in_width, in_channels]
et un tenseur filtre/noyau de forme [filter_height, filter_width, in_channels, channel_multiplier]
, contenant des filtres convolutifs in_channels
de profondeur 1, depthwise_conv2d
applique un filtre différent à chaque canal d'entrée (en passant de 1 canal aux canaux channel_multiplier
pour chacun), puis concatène les résultats ensemble. Ainsi, la sortie a des canaux in_channels * channel_multiplier
.
for k in 0..in_channels-1 for q in 0..channel_multiplier-1 output[b, i, j, k * channel_multiplier + q] = sum_{di, dj} input[b, strides[1] * i + di, strides[2] * j + dj, k] * filter[di, dj, k, q]
Doit avoir strides[0] = strides[3] = 1
. Pour le cas le plus courant des mêmes foulées horizontales et de sommets, strides = [1, stride, stride, 1]
.
Arguments :
- scope : un objet Scope
- foulées : 1-D de longueur 4. La foulée de la fenêtre glissante pour chaque dimension d'
input
. - padding : Le type d’algorithme de remplissage à utiliser.
Attributs facultatifs (voir Attrs
) :
- data_format : spécifiez le format de données des données d'entrée et de sortie. Avec le format par défaut « NHWC », les données sont stockées dans l'ordre : [lot, hauteur, largeur, canaux]. Alternativement, le format pourrait être « NCHW », l'ordre de stockage des données étant : [lot, canaux, hauteur, largeur].
- dilatations : tenseur 1-D de longueur 4. Le facteur de dilatation pour chaque dimension d'
input
. Si défini sur k > 1, il y aura k-1 cellules ignorées entre chaque élément de filtre sur cette dimension. L'ordre des dimensions est déterminé par la valeur dedata_format
, voir ci-dessus pour plus de détails. Les dilatations dans les dimensions du lot et de la profondeur doivent être de 1.
Retours :
-
Output
: Le tenseur de sortie.
Constructeurs et Destructeurs | |
---|---|
DepthwiseConv2dNative (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding) | |
DepthwiseConv2dNative (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const DepthwiseConv2dNative::Attrs & attrs) |
Attributs publics | |
---|---|
operation | |
output |
Fonctions publiques | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Fonctions statiques publiques | |
---|---|
DataFormat (StringPiece x) | |
Dilations (const gtl::ArraySlice< int > & x) | |
ExplicitPaddings (const gtl::ArraySlice< int > & x) |
Structures | |
---|---|
tensorflow :: ops :: DepthwiseConv2dNative :: Attrs | Setters d'attributs facultatifs pour DepthwiseConv2dNative . |
Attributs publics
opération
Operation operation
sortir
::tensorflow::Output output
Fonctions publiques
DepthwiseConv2dNative
DepthwiseConv2dNative( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding )
DepthwiseConv2dNative
DepthwiseConv2dNative( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const DepthwiseConv2dNative::Attrs & attrs )
nœud
::tensorflow::Node * node() const
opérateur :: tensorflow :: Entrée
operator::tensorflow::Input() const
opérateur :: tensorflow :: Sortie
operator::tensorflow::Output() const
Fonctions statiques publiques
Format de données
Attrs DataFormat( StringPiece x )
Dilatations
Attrs Dilations( const gtl::ArraySlice< int > & x )
Remplissages explicites
Attrs ExplicitPaddings( const gtl::ArraySlice< int > & x )