Testing old standalone Keras 2.x data utils without TF1 or Python 3.7
To reproduce behaviour of Keras 2.1-2.3 data utilities (GeneratorEnqueuer, fit_generator workers) when uv has no Python 3.7 build for TF 1.15: one Python 3.8 venv with tensorflow-cpu==2.2.3, numpy==1.18.5, 'h5py<3' and 'protobuf<3.21' imports standalone keras 2.1.6, 2.2.2, 2.2.3, 2.2.4 and 2.3.1 well enough to run keras.utils.GeneratorEnqueuer and numpy-only data generators (no model is built). Swap versions in place with 'uv pip install --no-deps keras==X'. Keras 2.2.2 and 2.2.3 additionally fail with "module 'keras_applications' has no attribute 'set_keras_submodules'" unless you pin keras-applications==1.0.4 and keras-preprocessing==1.0.2. This made a version bisection of a multiprocessing RNG bug take minutes instead of building a TF1 environment.