Genera un tf.data.Dataset
desde archivos de imagen en un directorio.
tf.keras.preprocessing.image_dataset_from_directory( directory, labels='inferred', label_mode='int', class_names=None, color_mode='rgb', batch_size=32, image_size=(256, 256), shuffle=True, seed=None, validation_split=None, subset=None, interpolation='bilinear', follow_links=False )
Si su estructura de directorio es:
main_directory/ ...class_a/ ......a_image_1.jpg ......a_image_2.jpg ...class_b/ ......b_image_1.jpg ......b_image_2.jpg
Entonces llamando image_dataset_from_directory(main_directory, labels="inferred")
devolverá un tf.data.Dataset
que produce lotes de imágenes de los subdirectorios class_a
y class_b
, junto con las etiquetas 0 y 1 (0 correspondiente a class_a
y 1 correspondiente a class_b
).
Formatos de imagen admitidos: jpeg, png, bmp, gif. Los gifs animados se truncan al primer fotograma.
Argumentos | |
---|---|
directory |
Directorio donde se encuentran los datos. Si labels es “inferido”, debe contener subdirectorios, cada uno con imágenes para una clase. De lo contrario, se ignora la estructura del directorio. |
labels |
O “inferido” (las etiquetas se generan a partir de la estructura del directorio), o una lista / tupla de etiquetas enteras del mismo tamaño que el número de archivos de imagen encontrados en el directorio. Las etiquetas deben clasificarse de acuerdo con el orden alfanumérico de las rutas del archivo de imagen (obtenidas a través de os.walk(directory) en Python). |
label_mode |
|
class_names |
Solo es válido si “etiquetas” se “infiere”. Esta es la lista explícita de nombres de clases (debe coincidir con los nombres de los subdirectorios). Se usa para controlar el orden de las clases (de lo contrario, se usa el orden alfanumérico). |
color_mode |
Uno de “escala de grises”, “rgb”, “rgba”. Predeterminado: “rgb”. Si las imágenes se convertirán para tener 1, 3 o 4 canales. |
batch_size |
Tamaño de los lotes de datos. Predeterminado: 32. |
image_size |
Tamaño para cambiar el tamaño de las imágenes después de que se lean del disco. Predeterminado a (256, 256) . Dado que la canalización procesa lotes de imágenes que deben tener el mismo tamaño, se debe proporcionar. |
shuffle |
Ya sea para mezclar los datos. Predeterminado: Verdadero. Si se establece en False, ordena los datos en orden alfanumérico. |
seed |
Semilla aleatoria opcional para barajar y transformaciones. |
validation_split |
Flotador opcional entre 0 y 1, fracción de datos para reservar para validación. |
subset |
Uno de “entrenamiento” o “validación”. Solo se usa si validation_split Está establecido. |
interpolation |
Cadena, el método de interpolación utilizado al cambiar el tamaño de las imágenes. Predeterminado a bilinear . Apoyos bilinear , nearest , bicubic , area , lanczos3 , lanczos5 , gaussian , mitchellcubic . |
follow_links |
Si visita subdirectorios apuntados por enlaces simbólicos. El valor predeterminado es Falso. |
Devoluciones | |
---|---|
A tf.data.Dataset objeto.
|
Normas sobre el formato de las etiquetas:
- si
label_mode
esint
, las etiquetas son unint32
tensor de forma(batch_size,)
. - si
label_mode
esbinary
, las etiquetas son unfloat32
tensor de unos y ceros de forma(batch_size, 1)
. - si
label_mode
escategorial
, las etiquetas son unfloat32
tensor de forma(batch_size, num_classes)
, que representa una codificación one-hot del índice de clase.
Reglas sobre el número de canales en las imágenes obtenidas:
- si
color_mode
esgrayscale
, hay 1 canal en los tensores de imagen. - si
color_mode
esrgb
, hay 3 canales en los tensores de imagen. - si
color_mode
esrgba
, hay 4 canales en los tensores de imagen.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)