image_dataset_from_directory {keras3} | R Documentation |
Generates a tf.data.Dataset
from image files in a directory.
Description
If your directory structure is:
main_directory/ ...class_a/ ......a_image_1.jpg ......a_image_2.jpg ...class_b/ ......b_image_1.jpg ......b_image_2.jpg
Then calling image_dataset_from_directory(main_directory, labels = 'inferred')
will return a tf.data.Dataset
that yields batches of
images from the subdirectories class_a
and class_b
, together with labels
0 and 1 (0 corresponding to class_a
and 1 corresponding to class_b
).
Supported image formats: .jpeg
, .jpg
, .png
, .bmp
, .gif
.
Animated gifs are truncated to the first frame.
Usage
image_dataset_from_directory(
directory,
labels = "inferred",
label_mode = "int",
class_names = NULL,
color_mode = "rgb",
batch_size = 32L,
image_size = c(256L, 256L),
shuffle = TRUE,
seed = NULL,
validation_split = NULL,
subset = NULL,
interpolation = "bilinear",
follow_links = FALSE,
crop_to_aspect_ratio = FALSE,
pad_to_aspect_ratio = FALSE,
data_format = NULL,
verbose = TRUE
)
Arguments
directory |
Directory where the data is located.
If |
labels |
Either |
label_mode |
String describing the encoding of
|
class_names |
Only valid if |
color_mode |
One of |
batch_size |
Size of the batches of data. Defaults to 32.
If |
image_size |
Size to resize images to after they are read from disk,
specified as |
shuffle |
Whether to shuffle the data. Defaults to |
seed |
Optional random seed for shuffling and transformations. |
validation_split |
Optional float between 0 and 1, fraction of data to reserve for validation. |
subset |
Subset of the data to return.
One of |
interpolation |
String, the interpolation method used when
resizing images. Defaults to |
follow_links |
Whether to visit subdirectories pointed to by symlinks.
Defaults to |
crop_to_aspect_ratio |
If |
pad_to_aspect_ratio |
If |
data_format |
If |
verbose |
Whether to display number information on classes and
number of files found. Defaults to |
Value
A tf.data.Dataset
object.
If
label_mode
isNULL
, it yieldsfloat32
tensors of shape(batch_size, image_size[1], image_size[2], num_channels)
, encoding images (see below for rules regardingnum_channels
).Otherwise, it yields a tuple
(images, labels)
, whereimages
has shape(batch_size, image_size[1], image_size[2], num_channels)
, andlabels
follows the format described below.
Rules regarding labels format:
if
label_mode
is"int"
, the labels are anint32
tensor of shape(batch_size,)
.if
label_mode
is"binary"
, the labels are afloat32
tensor of 1s and 0s of shape(batch_size, 1)
.if
label_mode
is"categorical"
, the labels are afloat32
tensor of shape(batch_size, num_classes)
, representing a one-hot encoding of the class index.
Rules regarding number of channels in the yielded images:
if
color_mode
is"grayscale"
, there's 1 channel in the image tensors.if
color_mode
is"rgb"
, there are 3 channels in the image tensors.if
color_mode
is"rgba"
, there are 4 channels in the image tensors.
See Also
Other dataset utils:
audio_dataset_from_directory()
split_dataset()
text_dataset_from_directory()
timeseries_dataset_from_array()
Other utils:
audio_dataset_from_directory()
clear_session()
config_disable_interactive_logging()
config_disable_traceback_filtering()
config_enable_interactive_logging()
config_enable_traceback_filtering()
config_is_interactive_logging_enabled()
config_is_traceback_filtering_enabled()
get_file()
get_source_inputs()
image_array_save()
image_from_array()
image_load()
image_smart_resize()
image_to_array()
layer_feature_space()
normalize()
pad_sequences()
set_random_seed()
split_dataset()
text_dataset_from_directory()
timeseries_dataset_from_array()
to_categorical()
zip_lists()
Other preprocessing:
image_smart_resize()
text_dataset_from_directory()
timeseries_dataset_from_array()