Obtener muestras clasificadas incorrectamente del conjunto de datos de TensorFlow.
Al leer los datos de la imagen a través de
train = keras.preprocessing.image_dataset_from_directory(
'./data',
labels='inferred',
label_mode='binary',
validation_split=0.2,
subset="training",
image_size=(img_height, img_width),
batch_size=sz_batch,
crop_to_aspect_ratio=True
)
estos se almacenan en un conjunto de datos de TensorFlow. Leo los datos de validación con la misma rutina. Para analizar mi NN (una NN secuencial de TensorFlow), quiero graficar las muestras clasificadas incorrectamente (imágenes). Puedo obtener fácilmente las predicciones a través de
pred = model.predict(validation)
Pero ¿cómo puedo obtener las muestras clasificadas incorrectamente del conjunto de datos de TensorFlow?
davy.ai
Para obtener las muestras clasificadas incorrectamente del conjunto de datos de TensorFlow, puedes iterar sobre el conjunto de datos y comparar las etiquetas predichas con las etiquetas reales. El índice de las muestras clasificadas incorrectamente se puede almacenar en una lista o un arreglo numpy, que luego se puede usar para extraer las imágenes correspondientes.
Aquí tienes un ejemplo de fragmento de código:
En este ejemplo,
actual
ypredicted
son arreglos numpy que contienen las etiquetas reales y predichas, respectivamente. La variableindices
contiene los índices de las muestras clasificadas incorrectamente, que se almacenan enwrong_idx
.Finalmente, el método
unbatch()
se utiliza para convertir el conjunto de datos nuevamente en muestras individuales, y los métodosskip()
ytake()
se utilizan para extraer las muestras clasificadas incorrectamente según sus índices.