Je souhaite extraire des patchs d'image de l'image d'entrée dans mon modèle tensorflow. Disons que l'image d'entrée est [batch, in_width, in_height, channels]
, je veux afficher [no_patches, patch_width, patch_height, channels]
. no_patches
sont le nombre total de correctifs peut être extrait à partir du input_image
. J'ai découvert que tf.extract_image_patches
peut faire le travail. Cependant, je ne comprends pas la différence des arguments strides
et rates
. Est-ce que quelqu'un peut expliquer comment utiliser la fonction ci-dessus pour faire le travail?Comment définir les arguments de tf.extract_image_patches
2
A
Répondre
0
strides
concerne le mouvement de la fenêtre sur vos données.
rates
est à propos de la «répartition» de la fenêtre. Par exemple, si vous utilisez strides = [1,5,5,1]
, votre fenêtre saute de 5 pixels dans la 1ère et la 2ème dimension. Si vous utilisez rates = [1,1,1,1]
votre fenêtre est 'compacte', ce qui signifie que tous les pixels sont contigus. Si vous utilisez rates = [1,1,2,1]
, puis la fenêtre se répand dans la 2ème dimension et prend un pixel tous les 2.
Exemple avec ksizes = [1,3,2,1]
(ignorer des progrès pour l'instant): à gauche que nous utilisons, rates = [1,1,1,1]
, au milieu que nous utilisons rates = [1,1,2,1]
, sur la droite, nous utilisons rates = [1,2,2,1]
:
* * 3 4 5 * 2 * 4 5 * 2 * 4 5
* * 8 9 10 * 7 * 9 10 6 7 8 9 10
* * 13 14 15 * 12 * 14 15 * 12 * 14 15
16 17 18 19 20 16 17 18 19 20 16 17 18 19 20
21 22 23 24 25 21 22 23 24 25 * 22 * 24 25