Tensorflow/Keras
I want to classify images into either “Circle”, “Square” or “Triangle”. I have a directory containing 6 folders with each shape having a separate “shaded” or “unshaded” folder. How can I combine them into one category? For example: shaded and unshaded circles will be given a label “0” using flow_from_directory. I will then feed this into my CNN model and let it run.
Thanks for the help!
Advertisement
Answer
classes
in flow_from_directory
needs to match the subdirectory names.
Example:
shapes ├── circle │ ├── shared │ └── unshared ├── square │ ├── shared │ └── unshared └── triangle ├── shared └── unshared
import pathlib # Get project root depending on your project structure. PROJECT_ROOT = pathlib.Path().cwd().parent SHAPES = PROJECT_ROOT / "shapes" train_gen = ImageDataGenerator( ).flow_from_directory( directory=SHAPES, # the path to the 'shapes' directory. target_size=(IMAGE_WIDTH, IMAGE_HEIGHT), classes=["circle", "square", "triangle"], batch_size=8, class_mode="categorical", )
Output:
Found 12 images belonging to 3 classes.