Вам необходимо использовать Dataset API.
Когда вы создали свои массивы numy, train_images, train_target, используйте tf.data.Dataset.from_tensor_slices
dataset = tf.data.Dataset.from_tensor_slices((train_images, train_target))
Это создаст объект набора данных, который может быть передан в model.fit
Вы можете перемешать, пакетировать и сопоставить любую функцию анализа с этим набором данных. Вы можете контролировать, сколько примеров будет предварительно загружено с помощью буфера перемешивания. Повторите количество контрольных эпох и лучше оставьте None
, так что оно будет повторяться бесконечно.
dataset = dataset.shuffle().repeat()
dataset = dataset.batch()
Помните, что пакетирование продолжается внутри этого конвейера, поэтому вам не нужно использовать пакет в model.fit
, но вам нужно передавать количество эпох и шагов за эпоху. Последнее может быть немного сложнее, потому что вы не можете сделать что-то вроде len(dataset)
, поэтому его следует рассчитать заранее.
model.fit(dataset, epochs, steps_per_epoch)
Если вы столкнетесь с ошибкой предела graphdef, лучше сохранить несколько более мелких массивов и передать их в виде списка
Ознакомьтесь с этим гидом
https://www.tensorflow.org/guide/datasets
Надеюсь, это поможет.