Text-to-Image-Synthesis icon indicating copy to clipboard operation
Text-to-Image-Synthesis copied to clipboard

cannot identify image file <_io.BytesIO object at 0x7f2d80b2e770>

Open zzw1123 opened this issue 6 years ago • 5 comments

Thanks for your contribution! But when I run the code, an error occurs:

Traceback (most recent call last): File "runtime.py", line 42, in trainer.train(args.cls) File "/home/zzw/program/text2img/text-to-Image-Synthesis-pytorch/trainer.py", line 65, in train self._train_wgan(cls) File "/home/zzw/program/text2img/text-to-Image-Synthesis-pytorch/trainer.py", line 103, in _train_wgan sample = next(data_iterator) File "/home/zzw/.local/lib/python2.7/site-packages/torch/utils/data/dataloader.py", line 281, in next return self._process_next_batch(batch) File "/home/zzw/.local/lib/python2.7/site-packages/torch/utils/data/dataloader.py", line 301, in _process_next_batch raise batch.exc_type(batch.exc_msg) IOError: Traceback (most recent call last): File "/home/zzw/.local/lib/python2.7/site-packages/torch/utils/data/dataloader.py", line 55, in _worker_loop samples = collate_fn([dataset[i] for i in batch_indices]) File "/home/zzw/program/text2img/text-to-Image-Synthesis-pytorch/txt2image_dataset.py", line 46, in getitem right_image = Image.open(io.BytesIO(right_image)).resize((64, 64)) File "/home/zzw/.local/lib/python2.7/site-packages/PIL/Image.py", line 2590, in open % (filename if filename else fp)) IOError: cannot identify image file <_io.BytesIO object at 0x7f1be1801770>

My Pillow version is 5.1.0, and it seems like something related to the version. Could anyone help me out?

zzw1123 avatar Jun 07 '18 14:06 zzw1123

Were you able to fix this? I'm facing the same issue.

Rakshith-Manandi avatar Dec 01 '18 22:12 Rakshith-Manandi

I modified 'data=np.void(img)' in convert_cub_to_hd5_script.py(line 63) to 'data=np.array(img)', and reinstall the pil, then it works. I think the problem is related to the content of 'right_image' in hdf5 file. You can run a simple test on your hdf5 file:

dataset = h5py.File(PATH_TO_HDF5FILE, 'r') # PATH_TO_HDF5FILE is the path of birds.hdf5 dataset_keys = [str(k) for k in dataset['train'].keys()] example_name = self.dataset_keys[0] example = self.dataset['train'][example_name] byte_image = bytes(np.array(example['img'])) image = Image.open(io.BytesIO(byte_image)) image.show()

Hope it can help

jingliao132 avatar Dec 08 '18 13:12 jingliao132

I had the same question. But bug disappears when I use python3.5.

Hanzy1996 avatar Jun 20 '19 11:06 Hanzy1996

Run the code in python3.

s-a-c-h-i-n avatar Sep 13 '19 09:09 s-a-c-h-i-n

Were you able to fix this? I'm facing the same issue

abdulla19851985 avatar Sep 15 '22 00:09 abdulla19851985