Saving A Model

Here, a model will get created, some data will be visualized and the model will be saved!

Imports

In [1]:
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import pandas as pd

Mock Some Data

In [2]:
X = np.arange(-100, 100, 4)
y = np.arange(-90,110,4)

Split Data into Train + Test

In [3]:
# Split data into train and test sets
X_train = X[:40] # first 40 examples (80% of data)
y_train = y[:40]

X_test = X[40:] # last 10 examples (20% of data)
y_test = y[40:]

Build The Model

In [7]:
# layer
l1 = tf.keras.layers.Dense(1)
fittedXTrained = tf.expand_dims(X_train, axis=-1)
epochCount = 100

# BUILD
m2 = tf.keras.Sequential()
m2.add(l1)
m2.add(l1)

# COMPILE
m2.compile(loss=tf.keras.losses.mae,
                optimizer=tf.keras.optimizers.SGD(),
                metrics=['mae'])

# FIT
m2.fit(fittedXTrained, y_train, epochs=epochCount, verbose=0) # set verbose to 0 for less output
Out [7]:
<keras.src.callbacks.History at 0x7f385617d0>

Save The Model

In [8]:
# DOCS
# https://www.tensorflow.org/tutorials/keras/save_and_load

# 1. SavedModel format
# GOOD FOR TENSORFLOW-ENVIRONMENT
m2.save("best_experiment_SavedModel_format")
INFO:tensorflow:Assets written to: best_experiment_SavedModel_format/assets
INFO:tensorflow:Assets written to: best_experiment_SavedModel_format/assets
In [9]:
# 2. LEGACY: HDF5 format, prints a UserWarning
# m2.save('best_experiment_HDF5_format.h5')
/opt/conda/lib/python3.11/site-packages/keras/src/engine/training.py:3079: UserWarning: You are saving your model as an HDF5 file via `model.save()`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')`.
  saving_api.save_model(
In [ ]:
# 3: docs-recommended
tf.keras.model.save()