# Cero-media y unidad de varianza de unidad por lotes -- python campo con numpy camp Relacionados El problema

## Zero-mean and unit variance image batch

0 ### problema

Español

Estoy trabajando en la implementación de una red neuronal convolucional para clasificar las imágenes médicas y estoy intentando cero-media y varianza de unidad Mis datos de entrada (imágenes RGB) antes de alimentarla a mi red. Mis datos son de forma [num_images, image_width, image_height, image_channels]

Estoy usando NOMPY:

` ` mean_val = np.mean(X_train, axis=0) std_val = np.std(X_train, axis=0) normalized_images = (X_train-mean_val)/std_val  ` `

Sin embargo, las imágenes tienen diferentes formas, por lo tanto, obtengo el siguiente error:

` ` Traceback (most recent call last): File "/Users/TristanSaunders/Desktop/IndividualProject/Amazon_Test.py", line  162, in <module> mean_val = np.mean(lab_images, axis=0) File "/Users/TristanSaunders/anaconda3/lib/python3.6/site-  packages/numpy/core/fromnumeric.py", line 2909, in mean out=out, **kwargs) File "/Users/TristanSaunders/anaconda3/lib/python3.6/site-  packages/numpy/core/_methods.py", line 70, in _mean ret = umr_sum(arr, axis, dtype, out, keepdims) ValueError: operands could not be broadcast together with shapes (767,1022,3)  (488,744,3)   ` `

Esto solo funciona cuando las imágenes tienen la misma forma. Esto está bien porque remodela las imágenes a 224x224x3 antes de alimentarlas a la red, pero para que las imágenes tengan la misma forma que necesito redimensionar y luego rellenarlas para mantener la relación de aspecto de la imagen. Pero hacer una variación media de cero y unidad en las imágenes acolchadas, la abundancia de píxeles de valor cero (relleno) sesga el valor medio.

Por lo tanto, estoy intentando cero Mal y la variación de la unidad Mis imágenes antes de cambiarlas y me preguntaba si hay una solución que hacerlo cuando las imágenes tienen diferentes formas?

¡Gracias!

Original en ingles

I'm working on implementing a convolutional neural network for classifying medical images and I am trying to zero-mean and unit variance my input data (RGB images) before feeding it to my network. My data is of shape [num_images, image_width, image_height, image_channels]

I'm using numpy:

``mean_val = np.mean(X_train, axis=0) std_val = np.std(X_train, axis=0) normalized_images = (X_train-mean_val)/std_val ``

However the images have different shapes therefore I get the following error:

``Traceback (most recent call last): File "/Users/TristanSaunders/Desktop/IndividualProject/Amazon_Test.py", line  162, in <module> mean_val = np.mean(lab_images, axis=0) File "/Users/TristanSaunders/anaconda3/lib/python3.6/site-  packages/numpy/core/fromnumeric.py", line 2909, in mean out=out, **kwargs) File "/Users/TristanSaunders/anaconda3/lib/python3.6/site-  packages/numpy/core/_methods.py", line 70, in _mean ret = umr_sum(arr, axis, dtype, out, keepdims) ValueError: operands could not be broadcast together with shapes (767,1022,3)  (488,744,3)  ``

This only works when the images have the same shape. This is fine because I reshape the images to 224x224x3 before feeding them to the network but to get the images to have the same shape I need to resize and then pad them in order to keep the aspect ratio of the image. But doing zero-mean and unit variance on padded images causes the abundance of zero-valued pixels (padding) to skew the mean-value.

Therefore I am trying to zero-mean and unit variance my images before reshaping them and I was wondering if there's a solution to do so when the images have different shapes?

Thanks!

## Lista de respuestas

0 Parece que x_train es una lista. Puede llamar a NP.Mean () en él si todos los elementos de la lista tienen la misma forma. Si las formas son diferentes, puedes hacer

` ` Variant5 ` `

Esto debe calcular, pero las imágenes con pequeños números de píxeles estarían demasiado representados.

Entonces, para compensar, podrías hacer

` ` Variant6 ` `

It seems that X_train is a list. You can call np.mean() on it if all elements of the list have the same shape. If the shapes are different, you can do

``mean_val = np.mean([np.mean(a) for a in X_train]) ``

This should compute, but images with small pixel numbers would be over-represented.

So, to compensate, you could do

``total_pixels = np.sum([a.flatten().shape for a in X_train]) mean_val = np.sum([a.flatten().shape * np.mean(a) for a in X_train]) / total_pixels ``

-1  Scipy Solver devuelve un error / ¿Cómo usar Numpy.Seterr?  ( Scipy solver returns an error how to use numpy seterr )
¿Cómo puedo entender qué causa este error? RuntimeWarning: invalid value encountered in double_scalars and dx_norm/self.x_rtol <= x_norm)) Realmente no...

1  Clasificación de valores eigen en Python en For-Loop  ( Sorting of eigenvalues in python in for loop )
Estoy calculando y trazando los valores propios de una matriz 5x5 en función de un parámetro X. Sé que tengo que ordenar los valores propios, ya que no están ...

0  PIPLOT DE CRESCAS DE ARRAY  ( Pyplot of array crashes )
Estoy intentando trazar valores de matriz obtenidos de sumar columnas individuales de una matriz NUTPY. Trabajando en Win XP, Python 2.5, MatPlotlib-1.0.1, Nu...

0  Lógica de bucle para calcular% cambio  ( Loop logic to calculate change )
MI FREAFAME: A B C A_Q B_Q C_Q 27 40 41 2 1 etc 28 39 40 1 5 30 28 29 3 6 28 27 28 4 1 15 10 ...

-2  Levantar ioError ("% s no encontrado".% ruta)  ( Raise ioerrors not found path )
En la semana pasada, pasé mi tiempo tratando de resolver un gran problema al compilar mi programa.py. Mi script del programa es: "message": "Query key con...

8  Añadir la tasa de cambio a Pandas DataFrame  ( Add rate of change to pandas dataframe )
Tengo el siguiente fábrico de datos de Pandas: lastrun value 0 2013-10-24 13:10:05+00:00 55376 1 2013-...

0  Usando una columna en .txt para cálculo  ( Using a column in txt for calculation )
Tengo un archivo de texto con 5 columnas y 36 filas. Quiero elegir una columna específica y la use en un cálculo. Datos de muestra: #1 2 3...

1  Cómo hacer que la carga nombrada sea más rápida  ( How to make numpy load faster )
Me gustaría usar NOMPY para hacer que mi programa sea más rápido. La única parte que quiero usar es matrices de cadena. Cuando hago childInRed->setParentIt...

1  Obtenga elementos específicos de NDARRAY de NDARrays con forma (n,)  ( Get specific elements from ndarray of ndarrays with shape n )
Dado el NDARRAY: A = np.array([np.array(, dtype='f'), np.array([2, 3], dtype='f'), np.array([4, 5], dtype='f'), ...

8  Calcule la media en los valores en las colecciones de Python.Counter  ( Calculate mean on values in python collections counter )
Estoy perfilando algunas mediciones de tiempo numérico que se agrupan extremadamente de cerca. Me gustaría obtener una media, desviación estándar, etc. Alguna...

© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos