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())
où 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