Quantcast
Channel: Hot Weekly Questions - Web Applications Stack Exchange
Viewing all articles
Browse latest Browse all 9782

AttributeError: 'NoneType' object has no attribute 'shape' , when using tf.keras fit_generator() [closed]

$
0
0

I have dataset with more than 10000 images and I am using tf.keras DataGenerator to load the data in batches. However, when I fit the model using model.fit_generator I get an error: 'NoneType' object has no attribute 'shape'.

Here is the code snippet:

import mathimport randomimport cv2import numpy as npimport tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras.utils import Sequencefrom tensorflow.keras.applications.mobilenet import preprocess_inputclass DataGenerator(Sequence):    def __init__(self, dataset, batch_size=30, shuffle=True, predict=False):                self.dataset = dataset        self.batch_size=batch_size        self.shuffle=shuffle        self.predict=predict        self.on_epoch_end()    def __len__(self):                return math.ceil(len(self.dataset) /self.batch_size)    def __getitem__(self, index):           indexes = self.indexes[index*self.batch_size:(index+1)*self.batch_size]                # code to generate images        # code to generate masks                return images, masks            def on_epoch_end(self):               self.indexes = np.arange(len(self.dataset))        if self.shuffle == True:            np.random.shuffle(self.indexes)model = create_model()model.compile()train_gen = DataGenerator(X_train, batch_size=30,  predict=False)val_gen= DataGenerator(X_val, batch_size=30,  predict=False)model.fit_generator(train_gen, validation_data = val_gen, epochs=1,  verbose=1)    

The inputs: X_train and X_val are numpy arraysTensorflow version: 1.15.0Keras version: 2.2.4Here is the error that I get when using fit_generator

AttributeError                            Traceback (most recent call last)<ipython-input-52-b30d342db2da> in <module>----> 1 model.fit_generator(train_gen, validation_data = val_gen, epochs=1,  verbose=1)      2 ~\Anaconda3\envs\tf\lib\site-packages\tensorflow_core\python\keras\engine\training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)   1294         shuffle=shuffle,   1295         initial_epoch=initial_epoch,-> 1296         steps_name='steps_per_epoch')   1297    1298   def evaluate_generator(self,~\Anaconda3\envs\tf\lib\site-packages\tensorflow_core\python\keras\engine\training_generator.py in model_iteration(model, data, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch, mode, batch_size, steps_name, **kwargs)    255       # `batch_size` used for validation data if validation    256       # data is NumPy/EagerTensors.--> 257       batch_size = int(nest.flatten(batch_data)[0].shape[0])    258     259       # Callbacks batch begin.AttributeError: 'NoneType' object has no attribute 'shape'

I would really appreciate any guidance to resolve this.


Viewing all articles
Browse latest Browse all 9782

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>