Ну, я уже более 4 лет использую список разделов вкладки с ключом / значением в столбце NTEXT в SQL Server и работает. Вы теряете гибкость при создании запросов, но, с другой стороны, если у вас есть библиотека, которая сохраняет / держирует пару ключевых значений, это не такая плохая идея.
Когда вы используете fit_generator, есть настройка «работники =», которую можно использовать для увеличения числа рабочих-генераторов. Однако вы должны убедиться, что параметр 'item' в getitem учтен, чтобы гарантировать, что разные рабочие (которые не синхронизированы) возвращают разные значения в зависимости от индекса элемента. т. е. вместо случайной выборки, возможно, просто вернуть часть данных на основе индекса. Вы можете перемешать весь набор данных перед началом, чтобы убедиться, что порядок набора данных рандомизирован.
Можете ли вы попробовать использовать use_multiprocessing = True? Это числа, которые я наблюдаю в моей системе на базе GTX 1080Ti с предоставленным вами генератором данных.
model.fit_generator(generator=training_generator, epochs=10, workers=6)
148/148. 115]
model.fit_generator(generator=training_generator, epochs=10, workers=6, use_multiprocessing=True)
148/148 [============================== --= 116 2 с 11 мс / шаг