اذهب إلى المحتوى

السؤال

نشر

السلام عليكم 

عند تدريب شبكه عصبيه CNN بيحصل الخطاء ده اثناء التدريب النموذج 

InvalidArgumentError                      Traceback (most recent call last)
/tmp/ipykernel_36/2234119796.py in <cell line: 0>()
----> 1 history = keras_models.fit(train_ds,validation_data=val_ds,epochs=20)

/usr/local/lib/python3.11/dist-packages/keras/src/utils/traceback_utils.py in error_handler(*args, **kwargs)
    120             # To get the full stack trace, call:
    121             # `keras.config.disable_traceback_filtering()`
--> 122             raise e.with_traceback(filtered_tb) from None
    123         finally:
    124             del filtered_tb

/usr/local/lib/python3.11/dist-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
     57       e.message += " name: " + name
     58     raise core._status_to_exception(e) from None
---> 59   except TypeError as e:
     60     keras_symbolic_tensors = [x for x in inputs if _is_keras_symbolic_tensor(x)]
     61     if keras_symbolic_tensors:

InvalidArgumentError: Graph execution error:

Detected at node decode_image/DecodeImage defined at (most recent call last):
<stack traces unavailable>
Detected at node decode_image/DecodeImage defined at (most recent call last):
<stack traces unavailable>
2 root error(s) found.
  (0) INVALID_ARGUMENT:  Input size should match (header_size + row_size * abs_height) but they differ by 2
	 [[{{node decode_image/DecodeImage}}]]
	 [[IteratorGetNext]]
	 [[IteratorGetNext/_4]]
  (1) INVALID_ARGUMENT:  Input size should match (header_size + row_size * abs_height) but they differ by 2
	 [[{{node decode_image/DecodeImage}}]]
	 [[IteratorGetNext]]
0 successful operations.
0 derived errors ignored. [Op:__inference_multi_step_on_iterator_13769]

مع العلم انا بستخدم الداله دي في تحميل البيانات 

train_ds = tf.keras.utils.image_dataset_from_directory(
    '/kaggle/input/dog-and-cat-classification-dataset/PetImages',
    image_size=(128, 128),
    batch_size=32,
    labels="inferred",
    label_mode="int",
    validation_split=0.2,
    subset="training",
    seed=123,
)

 

Recommended Posts

  • 0
نشر

لديك مشكلة في الملفات، فالدالة image_dataset_from_directory تقرأ كل ملف في المجلد، ولو تم قراءة ملف تالف، يتوقف التدريب بأكمله.

عليك المرور على جميع الصور في مجلدي Cat و Dog وحذف أي ملف لا يمكن فتحه كصورة صالحة، ومتاح ذلك سهولة من خلال مكتبة Pillow، عن طريق السكريبت التالي، قم بتنفيذه في خلية منفصلة قبل الكود الذي يقوم بإنشاء train_ds و val_ds:

import os
import PIL
from PIL import Image
from pathlib import Path

cat_path = Path("/kaggle/input/dog-and-cat-classification-dataset/PetImages/Cat")
dog_path = Path("/kaggle/input/dog-and-cat-classification-dataset/PetImages/Dog")

image_extensions = [".png", ".jpg", ".jpeg"]  
img_paths = [cat_path, dog_path]

for path in img_paths:
    print(f"Checking directory: {path}")
    for filepath in path.glob("*"):
        if filepath.suffix.lower() in image_extensions:
            try:
                img = Image.open(filepath)
                img.verify()
            except (IOError, SyntaxError, PIL.UnidentifiedImageError) as e:
                print(f"Deleting corrupt image file: {filepath}")
                try:
                    os.remove(filepath)
                except Exception as remove_error:
                    print(f"Could not delete file: {filepath}, Error: {remove_error}")

بالطبع عليك تعديل مسار cat_path وdog_path للمسار الصحيح لديك في بيئة Kaggle

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...