[PYTHON] Comprendre Tensor (2): Shape

1.Tout d'abord

Organisez les informations dont vous avez besoin pour comprendre Tensor comme vos propres notes. En même temps, je présenterai la notation Tensor en Python.

Dans la continuité de l'article précédent, cette fois, je voudrais vous présenter Tensor Shape. Comprendre Tensor (1): Dimension

2. Qu'est-ce que Tensol?

  1. Tensor is a just a container for data.
  2. The data are almost numerical data
  3. Therefore, Tensor is a container for number.

Un tenseur est un conteneur contenant des nombres. C'est simple.

3. Mots clés Tensol

Cela signifie Tensor, Dimension, Axis, Ranks.

  1. Tensor is a container of numbers.
  2. Tensor is a generalization of matrices to an arbitrary number of dimensions.
  3. In tensor, dimension is often called axis.
  4. Number of dimension (=Number of axis) is called ranks.

Tensol est une représentation généralisée de la matrice.

Nom tenseur Notation
Scalar 0 Dimensional Tensor Not Available
Vector 1 Dimensional Tensor (k)
Matrix 2 Dimensional Tensor (j,k)
.. 3 Dimensional tensor (i,j,l)

tensor-keyword.png

4. Forme Tensol

Une forme tenseur est une information qui indique ** combien d'éléments chaque dimension (= axe) est composée de **. Par expérience, il est facile de comprendre la forme au-dessus de 2D Tensol (matrice), mais il est nécessaire de comprendre la forme de 0D Tensol (scalaire) et 1D Tensol (vecteur) après avoir vu un exemple.

Vous pouvez vérifier la forme de Tensor avec la commande shape de Python.

4.1 Scalar : 0D Tensor

Scalar has empty shape.

Prenez, par exemple, le nombre 12. Le numéro 12 est scalaire car il n'y a qu'un seul nombre. Scalar est le Tenseur 0D. Autrement dit, la dimension de Tensor est nulle. Il n'y a pas de dimension. Puisque les informations sur le nombre d'éléments de la dimension manquante sont Shape, la Shape of Scalar ne peut être écrite qu'en ** () **. Ceci est appelé Scalar a une forme vide. En anglais. C'est un peu déraisonnable, mais veuillez patienter avec Vector.

Sortons la forme scalaire avec le code ci-dessous.

shape_scalar.png

4.2 Vector : 1D Tensor

1D tensor has a shape with a single element, such as (4, ).

Voici un exemple de Vector.

\begin{bmatrix}
12 & 3 & 6 & 14 
\end{bmatrix}

Le vecteur est un tenseur 1D. Puisqu'il n'y a qu'une seule dimension, un nombre représente la forme. Et le nombre d'éléments de ce vecteur est de 4. Par conséquent, la forme de ce vecteur s'écrit ** (4,) **. Cela peut ne pas vous venir à l'esprit, mais vous devez vous en souvenir.

Sortons la forme du vecteur avec le code suivant.

shape-vector.png   4.3 Matrix : 2D Tensor

2D tensor has a shape such as (3,4). it is familiar with matrix representation.

Voici un exemple de Matrix.

\begin{bmatrix}
1 & 3 & 5 & 7 \\
2 & 4 & 6 & 8 \\
3 & 6 & 9 & 12 
\end{bmatrix}

La forme de cette matrice est ** (3,4) **. C'est la même chose que la notation de la matrice dans les mathématiques conventionnelles. En fait, Matrix est un Tensor 2D, donc il est écrit avec deux nombres. Chaque numéro contiendra le nombre d'éléments pour chaque dimension.

Sortons la Matrix Shape avec le code ci-dessous.

image.png

4.4 .. :3D Tensor

3D tensor has a shape (*3*,3,4).

Voici un exemple de tenseur 3D. En ce qui concerne 3D Tensor, il devient difficile de l'exprimer sous forme de formule mathématique, veuillez donc utiliser la notation de code. Imaginez qu'il y ait trois lignes (3,4) d'affilée. Dans ce cas, la forme de ce tenseur est (3, 3, 4).

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

image.png

5. Résumé

J'ai organisé la signification de Shape of Tensor et l'expression en Python. La prochaine fois, je présenterai un exemple de Tensor.

Nom tenseur Expression Shape
Scalar 0D Tensor Not Available ()
Vector 1D Tensor (k) (k,)
Matrix 2D Tensor (j,k) (j,k)
.. 3D tensor (i,j,l) (i,j,l)

6. Documents de référence

  1. Comprendre Tensor (1): Dimension

Recommended Posts

Comprendre Tensor (2): Shape
Comprendre Tensor (3): données du monde réel
Comprendre le produit tensoriel (numpy.tensordot)
À propos de la compréhension du lecteur en 3 points [...]
Discrimination de la forme agari du mahjong
[Python] Comprendre le potentiel_field_planning de Python Robotics
Comprendre et implémenter l'algorithme Tonelli-Shanks (1)
[Comprendre en 3 minutes] Le début de Linux
Disposez les nombres en forme de spirale