Search code examples
arrayspython-3.ximagenumpyartificial-intelligence

Python image_dataset_loader Module Instances are inconsistent


I want to import an image dataset into Numpy arrays with images and labels. I am trying to use the image_dataset_loader to do this and have wrote this so far:

import image_dataset_loader

(x_train, y_train), (x_test, y_test) = image_dataset_loader.load('./data', ['train', 'test'])

I also have my data directory structured as follows:

data
    -train
        -male
            -male_1.jpg
            -male_2.jpg
            -male_3.jpg
            -male_4.jpg
            -......
        -female
            -female_1.jpg
            -female_2.jpg
            -female_3.jpg
            -female_4.jpg
            -......
    -test
        -male
            -male_1.jpg
            -male_2.jpg
            -male_3.jpg
            -male_4.jpg
            -......
        -female
            -female_1.jpg
            -female_2.jpg
            -female_3.jpg
            -female_4.jpg
            -......

I have formated all my images to be 120x120 and named them exactly as shown above. I have about 56000 files per category. When I run the script above, it throws the following error:

Traceback (most recent call last):
  File "main.py", line 33, in <module>
    (x_train, y_train), (x_test, y_test) = image_dataset_loader.load('./data', ['train', 'test'])
  File "/home/user/anaconda3/envs/AIOS/lib/python3.8/site-packages/image_dataset_loader.py", line 44, in load
    raise RuntimeError('Instance shapes are not consistent.')
RuntimeError: Instance shapes are not consistent.

Can someone please help me sort these images into Numpy arrays?


Solution

  • Check the color of your images. Chances are that some of your images may be grayscale.