Проблемы с открытием изображений из набора данных в модели Python KerasPython

Программы на Python
Anonymous
Проблемы с открытием изображений из набора данных в модели Python Keras

Сообщение Anonymous »

Во-первых, я новичок в Keras и Tensorflow, поэтому будьте вежливы :)
Окружение:
  • Python 3.12.3 на MacOS Sonoma 14.5
  • VSCode (последняя версия)
  • Tensorflow 2.16.1
    Matplotlib 3.9.0
  • Keras 3.3.3
Я был следуя этому руководству с официального сайта Keras, чтобы создать модель распознавания рукописного текста (HTR) в Python https://keras.io/examples/vision/handwr ... cognition/, но столкнулись с некоторыми проблемами при открытии и чтении набора данных по этой ссылке для скачивания GitHub (https://github.com/sayakpaul/Handwritin ... _Words.zip).
Я обновил код в в нескольких местах, если и когда я обнаружу проблемы, но когда начинается обучение модели, происходит сбой:

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

2024-06-02 19:26:11.552695: W tensorflow/core/framework/local_rendezvous.cc:404] Local rendezvous is aborting with status: OUT_OF_RANGE: End of sequence
Traceback (most recent call last):
File "/Volumes/Ugreen SSD/Py/keras-HTR-ENG/model.py", line 355, in 
prediction_model = keras.models.Model(
^^^^^^^^^^^^^^^^^^^
File "/Volumes/Ugreen SSD/Py/keras-HTR-ENG/.venv/lib/python3.12/site-packages/keras/src/models/model.py", line 143, in __new__
return functional.Functional(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Volumes/Ugreen SSD/Py/keras-HTR-ENG/.venv/lib/python3.12/site-packages/keras/src/utils/tracking.py", line 26, in wrapper
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/Volumes/Ugreen SSD/Py/keras-HTR-ENG/.venv/lib/python3.12/site-packages/keras/src/models/functional.py", line 162, in __init__
Function.__init__(self, inputs, outputs, name=name, **kwargs)
File "/Volumes/Ugreen SSD/Py/keras-HTR-ENG/.venv/lib/python3.12/site-packages/keras/src/ops/function.py", line 62, in __init__
raise ValueError(
ValueError: `inputs` argument cannot be empty. Received:
inputs=[]
outputs=
Это проблемный код:

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

class EditDistanceCallback(keras.callbacks.Callback):
def __init__(self, pred_model):
super().__init__()
self.prediction_model = pred_model

def on_epoch_end(self, epoch, logs=None):
edit_distances = []

for i in range(len(validation_images)):
labels = validation_labels[i]
predictions = self.prediction_model.predict(validation_images[i])
edit_distances.append(calculate_edit_distance(labels, predictions).numpy())

print(
f"Mean edit distance for epoch {epoch + 1}: {np.mean(edit_distances):.4f}"
)
epochs = 10  # To get good results this should be at least 50.

model = build_model()
prediction_model = keras.models.Model(
model.get_layer(name="image").input, model.get_layer(name="dense2").output
)
edit_distance_callback = EditDistanceCallback(prediction_model)

# Train the model.
history = model.fit(
train_ds,
validation_data=validation_ds,
epochs=epochs,
callbacks=[edit_distance_callback],
)
Я могу ошибаться, но мне кажется, что он передает пустые значения в keras.models.Model. Я знаю, что он правильно обнаруживает изображения, поскольку сообщает правильное количество изображений:

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

Total params: 423,823 (1.62 MB)
Trainable params: 423,823 (1.62 MB)
Non-trainable params: 0 (0.00 B)
Все изображения имеют формат .png и не редактировались из исходного набора данных. Я также загрузил набор данных из нескольких разных мест, чтобы проверить, не повреждены ли они.
Возможно, я пропустил важную информацию, но я добавил все, что мог. могу подумать в данный момент. Спасибо за всю помощь.

Подробнее здесь: https://stackoverflow.com/questions/785 ... eras-model

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