|
|
|
|
|
by mlthoughts2018
2918 days ago
|
|
Most of the tools that TensorFlow offers for multi-gpu and distributed model training will "just work" directly with Keras models too, or with really minor tweaks. You can even easily mix and match pure TensorFlow code (like explicitly setting the device with a device placement context manager) with Keras code. See e.g. [0] and [1] linked below. For model ensembling, it's even easier. After training, in Keras you could simply load your multiple models and create a new Model() object that does nothing but use a merge layer (with mode set to averaging) to average across multiple input models, even if the models share layers or have other crazy constraints. Writing that final ensemble is extremely easy in Keras. In my experience researching and productionizing very deep Keras models for an image processing use case that has moderately tight performance constraints, Keras has proved to scale extremely well and the code remains dead simple the whole time. [0]: < https://blog.keras.io/keras-as-a-simplified-interface-to-ten... > [1]: < https://www.tensorflow.org/programmers_guide/estimators#crea... > |
|
What do you use to orchestrate distributed training in Keras?