Как решить проблему «Неизвестный формат файла изображения. Требуется один из JPEG, PNG, GIF, BMP?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как решить проблему «Неизвестный формат файла изображения. Требуется один из JPEG, PNG, GIF, BMP?

Сообщение Anonymous »

Я создаю модель U-Net для выявления рака молочной железы. Набор данных я взял отсюда: https://www.kaggle.com/datasets/aryasha ... etНесмотря на то, что все изображения имеют формат png, при попытке обучения моей модели возникает ошибка, что мои изображения не имеют адекватного формата.
вот ошибка:

Код: Выделить всё

---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
Cell In[51], line 7
5 train_dataset = image_ds.cache().shuffle(BUFFER_SIZE).batch(BATCH_SIZE)
6 print(image_ds.element_spec)
----> 7 model_history = unet.fit(train_dataset, epochs=EPOCHS)

File ~\anaconda3\Lib\site-packages\keras\src\utils\traceback_utils.py:122, in filter_traceback..error_handler(*args, **kwargs)
119     filtered_tb = _process_traceback_frames(e.__traceback__)
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

File ~\anaconda3\Lib\site-packages\tensorflow\python\eager\execute.py:53, in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
51 try:
52   ctx.ensure_initialized()
---> 53   tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
54                                       inputs, attrs, num_outputs)
55 except core._NotOkStatusException as e:
56   if name is not None:

InvalidArgumentError: Graph execution error:

Detected at node decode_image/DecodeImage defined at (most recent call last):

Error in user-defined function passed to MapDataset:3 transformation with iterator: Iterator::Root::Prefetch::BatchV2::Shuffle::MemoryCacheImpl::Filter::ParallelMapV2: Unknown image file format. One of JPEG, PNG, GIF, BMP required.
[[{{node decode_image/DecodeImage}}]]
[[IteratorGetNext]] [Op:__inference_one_step_on_iterator_9520]
Ошибка возникает только при попытке обучения модели и относится к этой функции:

Код: Выделить всё

def preprocess_image(image, mask, target_size=(256, 256)):
try:
# Decode the image and mask safely
image = tf.io.decode_image(image, channels=3, expand_animations=False)
mask = tf.io.decode_image(mask, channels=1, expand_animations=False)

# Check for undefined or zero dimensions
if image.shape is None or image.shape[0] == 0 or image.shape[1] == 0:
print(f"Error: Image has undefined or zero dimensions: {image.shape}")
return None, None

if mask.shape is None or mask.shape[0] == 0 or mask.shape[1] == 0:
print(f"Error: Mask has undefined or zero dimensions: {mask.shape}")
return None, None

# Ensure the image has exactly 3 channels (RGB)
if image.shape[-1] != 3:
print(f"Error: Image does not have 3 channels (found {image.shape[-1]}).")
return None, None

# Normalize the image to range [0, 1]
image = tf.image.convert_image_dtype(image, tf.float32)

# Resize image and mask to target dimensions (256*256)
image = tf.image.resize(image, target_size, method='nearest')
mask = tf.image.resize(mask, target_size, method='nearest')

# Convert mask to a binary (0 or 1) format for classification tasks
mask = tf.cast(tf.math.reduce_max(mask, axis=-1, keepdims=True) > 0, tf.float32)  # Ensure binary mask

return image, mask

except Exception as e:
print(f"Error during preprocessing: {str(e)}")
return None, None

# Apply the preprocessing function to the dataset
image_ds = dataset.map(preprocess_image)

# Filter out None values returned by preprocess_image
image_ds = image_ds.filter(lambda img, mask: img is not None and mask is not None)
Я попробовал несколько способов исправить это с помощью Chatgpt, но ничего не помогло.

Подробнее здесь: https://stackoverflow.com/questions/790 ... p-required
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»