我是 Tensorflow/keras 的新手,我的文件结构有 3000 个文件夹,每个文件夹包含 200 个图像,每个图像要作为数据加载。我知道keras.preprocessing.image_dataset_from_directory允许我加载数据并将其分成训练/验证集,如下所示:
val_data = tf.keras.preprocessing.image_dataset_from_directory('etlcdb/ETL9G_IMG/',
image_size = (128, 127),
validation_split = 0.3,
subset = "validation",
seed = 1,
color_mode = 'grayscale',
shuffle = True)
Run Code Online (Sandbox Code Playgroud)
找到属于 3036 个类的 607200 个文件。使用 182160 个文件进行验证。
但随后我不确定如何在保持适当的类的同时将我的验证进一步拆分为测试拆分。据我所知(通过 GitHub源代码),take 方法只是获取数据集的前 x 个元素,而skip 则执行相同的操作。我不确定这是否会保持数据的分层,并且我不太确定如何从数据集中返回标签来测试它。
任何帮助,将不胜感激。