| import tensorflow as tf | |
| print('loading best_model.h5...') | |
| try: | |
| # Load without compiling to avoid deserializing legacy training configs/metrics | |
| m = tf.keras.models.load_model('best_model.h5', compile=False) | |
| except Exception as e: | |
| print('Failed to load best_model.h5:', e) | |
| raise | |
| # Try to export to the TF SavedModel format first | |
| try: | |
| m.export('saved_model_age_regressor') | |
| print('Exported SavedModel to ./saved_model_age_regressor') | |
| except Exception as e: | |
| print('Export to SavedModel failed:', e) | |
| # Fallback: save as Keras native single-file and HDF5 for compatibility | |
| try: | |
| m.save('saved_model_age_regressor.keras') | |
| print('Saved Keras model to ./saved_model_age_regressor.keras') | |
| except Exception as e2: | |
| print('Saving Keras native format failed:', e2) | |
| try: | |
| m.save('final_model.h5') | |
| print('Saved HDF5 model to ./final_model.h5') | |
| except Exception as e3: | |
| print('Saving HDF5 format failed:', e3) | |