StridedSliceHelper

classe abstraite publique StridedSliceHelper

Méthodes de point de terminaison d'assistance pour Python comme l'indexation.

Voir également

Constructeurs Publics

Méthodes publiques

statique <T étend TType > StridedSlice <T>
striedSlice ( Portée de portée , entrée Opérande <T>, Index... indices)
Renvoie une tranche striée depuis `input`.
statique <T étend TType > StridedSliceAssign <T>
striderdSliceAssign ( Portée de portée, référence de l'opérande <T>, valeur de l'opérande <T>, index... indices)
Attribuez `value` à la référence de valeur l découpée de `ref`.

Méthodes héritées

Constructeurs Publics

public StridedSliceHelper ()

Méthodes publiques

public static StridedSlice <T> striedSlice ( Portée de portée , entrée Opérande <T>, Index... indices)

Renvoie une tranche striée depuis `input`.

Le but de cette opération est de produire un nouveau tenseur avec un sous-ensemble d'éléments du tenseur « d'entrée » à « n » dimensions. Le sous-ensemble est choisi à l'aide d'une séquence de spécifications de plage clairsemée `m` codées dans les arguments de cette fonction. Notez que dans certains cas, « m » peut être égal à « n », mais ce n'est pas nécessairement le cas. Chaque entrée de spécification de plage peut être l'une des suivantes :

- Une ellipse (...) utilisant ellipsis() . Les ellipses sont utilisées pour impliquer zéro ou plusieurs dimensions de sélection pleine dimension. Par exemple, stridedSlice(foo, Indices.ellipsis() est la tranche d'identité.

- Un nouvel axe utilisant newAxis() . Ceci est utilisé pour insérer une nouvelle dimension shape=1. Par exemple, ` stridedSlice(foo, Indices.newAxis())foo est la forme (3, 4) produit un tenseur (1, 3, 4) .

- Une plage begin:end:stride utilisant slice(Long, Long, long) Index.slice()} ou all() . Ceci est utilisé pour spécifier combien choisir dans une dimension donnée. stride peut être n'importe quel entier sauf 0. begin est un entier qui représente l'index de la première valeur à sélectionner tandis que end représente l'index de la dernière valeur à sélectionner (exclusif). Le début et la fin peuvent être nuls, auquel cas l'index commence ou se termine respectivement au début ou à la fin de la dimension (inversé si la foulée est négative). Lorsque les deux sont nuls, slice() est identique à all() . Le nombre de valeurs sélectionnées dans chaque dimension est end - begin si stride > 0 et begin - end si stride < 0 . begin et end peuvent être négatifs où -1 est le dernier élément, -2 est l'avant-dernier. Par exemple, étant donné un tenseur de forme (3,) stridedSlice(foo, Indices.all()) , le begin et end effectifs sont 0 et 3 . Ne présumez pas que cela équivaut à stridedSlice(foo, Indices.slice(0, -1)) qui a un begin et end effectifs de 0 et 2 . Un autre exemple est stridedSlice(foo, Indices.slice(-2, null, -1)) qui inverse la première dimension d'un tenseur tout en supprimant les deux dernières (dans l'ordre d'origine des éléments). Par exemple foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) est [4,3] .

- Un seul index utilisant at(long) . Ceci est utilisé pour conserver uniquement les éléments qui ont un index donné. Par exemple ( stridedSlice(foo, Indices.at(2)) sur un tenseur de forme (5,6) produit un tenseur de forme (6,) . La dimension peut être conservée avec une taille un en utilisant at(long, boolean) .

Ces sémantiques suivent généralement la sémantique d'indexation de NumPy, qui peut être trouvée ici : https://numpy.org/doc/stable/reference/arrays.indexing.html

Exigences : `0 != strides[i] for i in [0, m)` Une seule points de suspension.

Paramètres
portée portée actuelle
indices Les indices à découper. Voir Indices .
Retour
  • une nouvelle instance de StridedSlice
Voir également

public static StridedSliceAssign <T> stridedSliceAssign ( Portée de la portée , référence de l'opérande <T>, valeur de l'opérande <T>, index... indices)

Attribuez `value` à la référence de valeur l découpée de `ref`.

Les valeurs de « value » sont affectées aux positions dans la variable « ref » qui sont sélectionnées par les paramètres de tranche. Les paramètres de tranche `begin`, `end`, `strides`, etc. fonctionnent exactement comme dans `StriedSlice`.

REMARQUE, cette opération ne prend actuellement pas en charge la diffusion et la forme de « valeur » doit donc être exactement la forme produite par la tranche de « ref ».

Paramètres
portée portée actuelle
réf le tenseur auquel attribuer.
valeur la valeur à attribuer.
indices Les indices à découper. Voir Indices .
Retour
  • une nouvelle instance de StridedSliceAssign