Código de Python - Array MNIST. Trabajo con índices.

Imágen de perfil

Array MNIST. Trabajo con índices.gráfica de visualizaciones


Python

Publicado el 21 de Abril del 2024 por Hilario (126 códigos)
265 visualizaciones desde el 21 de Abril del 2024
Figure_1
Figure_2
Figure_3

******************************************************************************************************************
Como hay alguna duda del tratamiento de imagenes Minist, a través de llamadas a
índices. Propongo este sencillo ejercicio para el Aula-28, con el fin de comprender el proceso irecorrido a través de indices para poder visualizar imágenes Minist, así como tambien entender las particularidades de este tipo de Arrays.
********************************************************************************
Paso a describir, de forma sencilla, las lineas de código del ejercicio Aula_28-Tratamiento-Indices.py

from keras.datasets import mnist
--------------------------------


Aquí estamos importando el conjunto de datos MNIST desde la biblioteca Keras. MNIST es un conjunto de datos popular utilizado para entrenar modelos de redes neuronales convolucionales (CNN) en tareas de reconocimiento de dígitos escritos a mano.

(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
-----------------------------------------------------------------------------
Esta línea carga los datos MNIST en cuatro variables: train_images y train_labels contienen las imágenes y las etiquetas correspondientes utilizadas para entrenar el modelo, mientras que test_images y test_labels contienen las imágenes y las etiquetas utilizadas para evaluar el rendimiento del modelo después del entrenamiento.

print(train_images.ndim)
print(train_images.dtype)

------------------------
Estas líneas imprimen la dimensionalidad y el tipo de datos de las imágenes de entrenamiento. train_images.ndim devuelve la cantidad de dimensiones (generalmente 3: altura, ancho y canal de color) y train_images.dtype devuelve el tipo de datos de los píxeles en las imágenes (generalmente uint8, que representa enteros sin signo de 8 bits).

digit = train_images[4888]
--------------------------

Esto selecciona una imagen específica del conjunto de datos de entrenamiento. Aquí, digit es una variable que contiene la imagen correspondiente al índice 4888 del conjunto de datos de entrenamiento.

plt.imshow(digit, cmap=plt.cm.binary)
plt.show()

------------------------------------
Estas líneas muestran la imagen seleccionada utilizando Matplotlib. plt.imshow() muestra la imagen y plt.show() muestra la ventana emergente con la imagen.

for i in range(10, 11):
plt.imshow(train_images[i], cmap=plt.cm.binary)
plt.show()

---------------------------------------------------

Este bucle muestra una sola imagen del conjunto de datos de entrenamiento. En este caso, se muestra la imagen con índice 10 (es decir, la undécima imagen) utilizando las mismas funciones de visualización de Matplotlib que se mencionaron anteriormente.

def visualizar_imagenes(mnits, indices):
...
---------------------------------------
Aquí se define una función llamada visualizar_imagenes que acepta dos argumentos: mnits, que son las imágenes que se van a visualizar, y indices, que son los índices de las imágenes que se desean visualizar.

indices_a_visualizar = [0, 100, 200, 300, 400, 500, 600, 700]
visualizar_imagenes(train_images, indices_a_visualizar)

-----------------------------------------------------------------
Finalmente, se crea una lista de índices de imágenes que se desean visualizar y se llama a la función visualizar_imagenes para mostrar esas imágenes específicas del conjunto de datos de entrenamiento.

********************************************************************
Este ejercicio fue ralizado bajo plataforma linux, concretamente con:
Ubuntu 20.04.6 LTS.
Editado con Sublime Text.
Cargado Python3.
El sistema debe tener cargado para su importación:
from keras.datasets import mnist
import matplotlib.pyplot as plt
*************************************************
Ejecucion del programa bajo consola linux.
python3 Aula_28-Tratamiento-Indices.py

Requerimientos

********************************************************************
Este ejercicio fue ralizado bajo plataforma linux, concretamente con:
Ubuntu 20.04.6 LTS.
Editado con Sublime Text.
Cargado Python3.
El sistema debe tener cargado para su importación:
from keras.datasets import mnist
import matplotlib.pyplot as plt
*************************************************
Ejecucion del programa bajo consola linux.
python3 Aula_28-Tratamiento-Indices.py





SALIDA POR CONSOLA EN SU EJECUCIÓN.
**********************************************************
2024-04-21 12:58:30.908898: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.
2024-04-21 12:58:30.983313: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.
2024-04-21 12:58:30.984232: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-04-21 12:58:32.283051: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
3
uint8
[Finished in 27.3s]

V-0

Publicado el 21 de Abril del 2024gráfica de visualizaciones de la versión: V-0
266 visualizaciones desde el 21 de Abril del 2024
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#Ejecución bajo consola linux.
#python3 Aula_28-Tratamiento-Indices.py
 
from keras.datasets import mnist
import matplotlib.pyplot as plt
 
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
 
print(train_images.ndim)
print(train_images.dtype)
 
digit = train_images[4888]
plt.imshow(digit, cmap=plt.cm.binary)
plt.show()
 
# Mostrar un rango de imágenes (solo una imagen a la vez)
for i in range(10, 11):
    plt.imshow(train_images[i], cmap=plt.cm.binary)
    plt.show()
 
def visualizar_imagenes(mnits, indices):
    fig, axs = plt.subplots(2, 4, figsize=(10, 5))
    axs = axs.flatten()
 
    for i, index in enumerate(indices):
        imagen = mnits[index]
        axs[i].imshow(imagen, cmap='gray')
        axs[i].axis('off')
        axs[i].set_title(f'Imagen #{index}')
 
    plt.tight_layout()
    plt.show()
 
# Supongamos que tienes una lista de índices de las imágenes que quieres visualizar
indices_a_visualizar = [0, 100, 200, 300, 400, 500, 600, 700]
visualizar_imagenes(train_images, indices_a_visualizar)



Comentarios sobre la versión: V-0 (0)


No hay comentarios
 

Comentar la versión: V-0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7505