Introduction
Model versioning helps keep track of different versions of a machine learning model so you can compare, update, or go back to earlier versions easily.
Save model: model.save('model_v1.h5') Load model: model = keras.models.load_model('model_v1.h5')
model.save('model_v1.h5')model.save('model_v2.h5')model = keras.models.load_model('model_v1.h5')import tensorflow as tf from tensorflow import keras # Create a simple model model = keras.Sequential([ keras.layers.Dense(10, activation='relu', input_shape=(5,)), keras.layers.Dense(1, activation='sigmoid') ]) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) # Dummy data import numpy as np X = np.random.random((100, 5)) y = np.random.randint(2, size=(100, 1)) # Train model version 1 model.fit(X, y, epochs=2, verbose=0) # Save version 1 model.save('model_v1.h5') # Train more for version 2 model.fit(X, y, epochs=2, verbose=0) # Save version 2 model.save('model_v2.h5') # Load version 1 and evaluate model_v1 = keras.models.load_model('model_v1.h5') loss1, acc1 = model_v1.evaluate(X, y, verbose=0) # Load version 2 and evaluate model_v2 = keras.models.load_model('model_v2.h5') loss2, acc2 = model_v2.evaluate(X, y, verbose=0) print(f"Version 1 accuracy: {acc1:.4f}") print(f"Version 2 accuracy: {acc2:.4f}")
model versioning in machine learning?joblib?dump.joblib.dump(model, 'model_v1.pkl') saves the model correctly.import joblib
model_v1 = {'accuracy': 0.8}
model_v2 = {'accuracy': 0.85}
joblib.dump(model_v1, 'model_v1.pkl')
joblib.dump(model_v2, 'model_v2.pkl')
loaded_model = joblib.load('model_v2.pkl')
print(loaded_model['accuracy'])
What will be the printed output?import joblib
model = {'accuracy': 0.9}
joblib.dump(model, model_v1.pkl)
What is the error and how to fix it?model_v1.pkl is used without quotes, so Python treats it as a variable, causing a NameError.joblib.dump(model, 'model_v1.pkl') to pass a string filename.Pass the test and this pattern moves unknown