Add support for Keras 3 by uschmidt83 · Pull Request #79 · CSBDeep/CSBDeep

added 8 commits

April 18, 2024 15:38
- Trying to make sense of the different compatible TensorFlow and Keras version
- Making a new abstracted BACKEND to replace keras.backend

Work in progress...
Seems no longer possible to run this at all. Even before with Keras 2, the exported model would likely not work with our plugins in Fiji.
`csbdeep.internals.train.RollingSequence` is used as base class for training data generation. Its parent class is `keras.utils.Sequence`, which seems to be an alias for `keras.utils.PyDataset` in Keras 3.

Although not important for csbdeep itself, the parameters "workers" and "use_multiprocessing" have moved from `model.fit` to the constructor of `keras.utils.PyDataset`. Hence added `keras_kwargs` to `csbdeep.internals.train.RollingSequence` constructor to allow passing these parameters.
Monkey-patch keras model to save weights in legacy format if suffix is not '.weights.h5'

@uschmidt83

@uschmidt83