Couches de rééchantillonnage (UpSampling2D)
Les couches UpSampling2D sont utilisées dans les réseaux de neurones convolutionnels pour augmenter la dimension spatiale des images ou des cartes de caractéristiques. L’objectif est de restaurer une résolution plus grande à partir de représentations compressées, par exemple après des opérations de pooling ou de convolution.
Le principe consiste à répéter ou interpoler les pixels le long des axes hauteur et largeur, augmentant ainsi les dimensions spatiales de l’image ou de la carte de caractéristiques. Cette opération est souvent utilisée dans les architectures de segmentation, les autoencodeurs convolutionnels ou les réseaux génératifs.
Les couches UpSampling2D sont utilisées pour reconstruire des images, générer des images de plus grande résolution ou améliorer la granularité spatiale des cartes de caractéristiques.
En résumé, les couches UpSampling2D permettent d’augmenter la résolution des images ou des cartes de caractéristiques, facilitant la reconstruction ou la génération de données visuelles à partir de représentations compressées.
Fonctions :
-
UpSampling2D()
La couche UpSampling2D augmente la résolution spatiale (hauteur et largeur) d’une image ou d’une carte de caractéristiques en répétant les valeurs selon les dimensions spatiales. Elle est utilisée pour restaurer la taille des données dans les réseaux convolutionnels, notamment dans les réseaux génératifs ou les auto-encodeurs.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import UpSampling2D import numpy as npAttributs :
Paramètre Type Description Valeur par défaut sizetuple d’int ou int Facteur d’agrandissement pour les dimensions (hauteur, largeur). Peut être un int unique pour les deux axes ou un tuple. (2, 2)data_formatstring Format des données d'entrée, soit "channels_last"(par défaut, shape: batch, hauteur, largeur, canaux) soit"channels_first"(shape: batch, canaux, hauteur, largeur)."channels_last"Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import UpSampling2D import numpy as np # Données simulées : batch de 1 image, 2x2 pixels, 1 canal X = np.array([[[[1], [2]], [[3], [4]]]]) # Modèle avec UpSampling2D model = Sequential() model.add(UpSampling2D(size=(2, 2), input_shape=(2, 2, 1))) # Passage des données dans la couche output = model.predict(X) print(output)
Explication du code :
Importation des bibliothèques
On importe la couche `UpSampling2D` ainsi que les modules nécessaires.Création des données
Les données représentent un batch avec une image 2x2 pixels et 1 canal.Définition du modèle
Le modèle contient uniquement la couche `UpSampling2D` avec un facteur d’agrandissement de 2 sur hauteur et largeur.Exécution
Le passage des données produit une image 4x4 où chaque pixel original est répété 2 fois en hauteur et 2 fois en largeur.