Je dispose d'un tableau numérique de (10000, 32, 32, 3) (10000 images, 32 pixels par 32 pixels, 3 canaux de couleur) et j'essaie de normaliser chacun des trois derniers canaux individuellement .Normalisation sur les canaux de couleur en numpy
Pour normaliser à travers le canal rouge I essayé d'utiliser
testX[:,:,:,0] = (testX[:,:,:,0]-np.mean(testX[:,:,:,0]))/np.std(testX[:,:,:,0])
mais au lieu de produire une sortie normalisée le long de la colonne rouge tel que: (ce qui est la dernière ligne de pixels dans l'une des images)
[[
...,
[[-1.78, 108, 94],
[ 0.54, 37, 21],
[ 0.12, 136, 127],
...,
[-0.68, 172, 114],
[ 0.97, 204, 141],
[ 1.20, 182, 118]]]]
il réglé tous les globules rouges d'être soit 0, 1 ou 255
[[
...,
[[ 0, 108, 94],
[255, 37, 21],
[ 0, 136, 127],
...,
[ 0, 172, 114],
[ 0, 204, 141],
[ 1, 182, 118]]]]
qu'est-ce qui me manque dans cette fonction de découpage?
Existe-t-il un meilleur moyen d'y parvenir?
Puisque j'essaie de normaliser cela, serait-il plus logique de faire quelque chose de beaucoup plus simple au lieu de se soucier de la normalisation par la couleur? Tels que
testX = testX/255
Qu'entendez-vous exactement par «sortie normalisée»? Je pense que cela signifierait différentes choses dans différents contextes. – Divakar
Ne vaudrait-il pas mieux prendre la moyenne des données? – thesonyman101
À l'origine, je prenais la moyenne des données en utilisant testX = (testX-np.mean (testX))/np.std (testX) qui fonctionnait bien, mais je voyais si le faire par couleur améliorerait le l'apprentissage du réseau de neurones je m'entraîne. Par résultat normalisé, je veux dire soustraire la moyenne et ensuite diviser par la déviation std qui produit une distribution normale. Bien que j'ai vu une normalisation tout aussi utile qui consiste simplement à diviser chaque point de données par le maximum dans le tableau –