sainatarajan / U-Net

A simple U-Net implementation for custom dataset. Just create required folders and place the images and then start training.
20 stars 6 forks source link

OverflowError: cannot convert float infinity to integer #2

Closed manvirvirk closed 4 years ago

manvirvirk commented 4 years ago

i m getting this help:

File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\utils\generic_utils.py", line 514, in update numdigits = int(np.log10(self.target)) + 1 OverflowError: cannot convert float infinity to integer

sainatarajan commented 4 years ago

@manvirvirk Can you post the full stack trace?

manvirvirk commented 4 years ago
Epoch 1/100
2020-04-08 23:35:44.001982: W tensorflow/core/common_runtime/base_collective_executor.cc:217] BaseCollectiveExecutor::StartAbort Out of range: End of sequence
         [[{{node IteratorGetNext}}]]
WARNING:tensorflow:Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches (in this case, 0 batches). You may need to use the repeat() function when building your dataset.
WARNING:tensorflow:Can save best model only with loss available, skipping.
C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\utils\generic_utils.py:514: RuntimeWarning: divide by zero encountered in log10
  numdigits = int(np.log10(self.target)) + 1
Traceback (most recent call last):
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 767, in on_epoch
    yield epoch_logs
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 342, in fit
    total_epochs=epochs)
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 187, in run_one_epoch
    aggregator.finalize()
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\engine\training_utils.py", line 144, in finalize
    raise ValueError('Empty training data.')
ValueError: Empty training data.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "unet.py", line 167, in <module>
    myunet.train()
  File "unet.py", line 131, in train
    validation_split=0.2, shuffle=True, callbacks=[model_checkpoint])
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 819, in fit
    use_multiprocessing=use_multiprocessing)
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 397, in fit
    prefix='val_')
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\contextlib.py", line 130, in __exit__
    self.gen.throw(type, value, traceback)
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 772, in on_epoch
    self.progbar.on_epoch_end(epoch, epoch_logs)
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\callbacks.py", line 789, in on_epoch_end
    self.progbar.update(self.seen, self.log_values)
  File "C:\Users\virkt\Anaconda3\envs\unet\lib\site-packages\tensorflow_core\python\keras\utils\generic_utils.py", line 514, in update
    numdigits = int(np.log10(self.target)) + 1
OverflowError: cannot convert float infinity to integer
sainatarajan commented 4 years ago

@manvirvirk Please check whether you have given the input folders properly. The error being shown is: ValueError: Empty training data.

manvirvirk commented 4 years ago

i dont know why it is showing empty training folder. my database directory is: data-train-images and labels test-images all my images are in .png form

manvirvirk commented 4 years ago

i changed jpg to png in data.py and it worked. Thanks