![]() |
error "cannot identify image file" part way through running - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: error "cannot identify image file" part way through running (/thread-41046.html) |
error "cannot identify image file" part way through running - hatflyer - Nov-02-2023 I'm getting a very long list of errors part way when running the code below. The images come from: dog-vs-cat-classification/train/dogs , and the cat ones in the same folder as the dogs. Each hols 125000 images. I have plenty of RAM if related. [It does seem to work with fewer epochs, tho not consistently] [Sorry, tried to use the code icon but wouldn't work] from keras.models import load_model, Sequential from keras.layers import Conv2D,Flatten,Activation,Dense,MaxPooling2D,Dropout from tensorflow.keras import optimizers from tensorflow.keras.preprocessing.image import ImageDataGenerator, img_to_array from PIL import Image import numpy as np import os from sklearn.metrics import accuracy_score from keras.preprocessing.image import ImageDataGenerator img_width, img_height = 150, 150 trainRescale = ImageDataGenerator(rescale=1./255) traindata = trainRescale.flow_from_directory('dog-vs-cat-classification/train', target_size = (img_width, img_height), batch_size = 32, class_mode = 'binary') model=Sequential() model.add(Conv2D(32,(3,3),activation='relu',input_shape=(img_width,img_height,3))) model.add(MaxPooling2D(pool_size=(2,2))) model.add(Conv2D(64,(3,3),activation='relu')) model.add(MaxPooling2D(pool_size=(2,2))) model.add(Conv2D(64,(3,3),activation='relu')) model.add(MaxPooling2D(pool_size=(2,2))) model.add(Flatten()) model.add(Dense(64,activation='relu')) model.add(Dropout(0.5)) model.add(Dense(1,activation='sigmoid')) model.compile(loss = 'binary_crossentropy', optimizer = 'rmsprop', metrics = ['accuracy']) model.fit_generator(traindata, steps_per_epoch = 8, epochs = 128) Here's the output: Epoch 1/128 8/8 [==============================] - 3s 248ms/step - loss: 0.8126 - accuracy: 0.5547 Epoch 2/128 8/8 [==============================] - 2s 233ms/step - loss: 0.6982 - accuracy: 0.4961 Epoch 3/128 8/8 [==============================] - 2s 240ms/step - loss: 0.6959 - accuracy: 0.4258 Epoch 4/128 8/8 [==============================] - 2s 238ms/step - loss: 0.6934 - accuracy: 0.5430 Epoch 5/128 6/8 [=====================>........] - ETA: 0s - loss: 0.6721 - accuracy: 0.5781C:\Users\Jim Schmitz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\TiffImagePlugin.py:866: UserWarning: Truncated File Read warnings.warn(str(msg)) 8/8 [==============================] - 2s 231ms/step - loss: 0.6722 - accuracy: 0.5742 Epoch 6/128 8/8 [==============================] - 2s 235ms/step - loss: 0.6885 - accuracy: 0.4961 Epoch 7/128 8/8 [==============================] - 2s 234ms/step - loss: 0.7015 - accuracy: 0.5234 Epoch 8/128 3/8 [==========>...................] - ETA: 1s - loss: 0.6827 - accuracy: 0.62502023-11-02 15:11:35.715917: W tensorflow/core/framework/op_kernel.cc:1816] UNKNOWN: UnidentifiedImageError: cannot identify image file <_io.BytesIO object at 0x000001BFE411ABB0> Traceback (most recent call last): File "C:\Users\Jim\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\tensorflow\python\ops\script_ops.py", line 268, in __call__ ret = func(*args) and the last error line: File "C:\Users\Jim Schmitz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\Image.py", line 3280, in open raise UnidentifiedImageError(msg) PIL.UnidentifiedImageError: cannot identify image file <_io.BytesIO object at 0x000001BFE411ABB0> [[{{node PyFunc}}]] [[IteratorGetNext]] [Op:__inference_train_function_1198] |