如果将tf.keras.preprocessing.image_dataset_from_directory('DIR')
用于此文件结构
main_directory/
...class_a/
......a_image_1.jpg
......a_image_2.jpg
...class_b/
......b_image_1.jpg
......b_image_2.jpg
如何从这个文件结构中创建数据集?
main_directory/
...class_a/
......subclass_1/
.........a_image_1.jpg
......subclass_2/
.........a_image_2.jpg
...class_b/
......subclass_1/
.........b_image_1.jpg
......subclass_2/
.........b_image_2.jpg
我想让tensorflow 在每个图像的类和子类上训练,或者只在每个图像的类和子类名称的连接上训练,这也可以。
1条答案
按热度按时间nxagd54h1#
tf.keras.preprocessing.image_dataset_from_directory('DIR')
使用给定目录的子文件夹作为模型的类。对于第二个目录结构,它将只有两个类,class_a
和class_b
通过这个张流链接来解码图像,它会帮助你。
在函数解析图像中,您可以决定使用什么作为标签
这里只使用包含图像的文件夹名,在您的情况下,如果您运行相同的代码,您将只有两个类
subclass_1
,subclass_2
。因为从class_b目录中,它也将选择相同的类。但是,如果您想要区分它,您可以在声明标签时遵循更改,
label = parts[-3] + '_' + parts[-2]
现在,它将具有
class_a_subclass_1
、class_a_subclass_2
、class_b_subclass_1
、class_b_subclass_2
等类,总共四个类。