ModelCheckpoint कॉलबैक से प्रशिक्षण के दौरान वेट्स सेव करना
ModelCheckpoint कॉलबैक प्रशिक्षण के दौरान निर्दिष्ट अंतराल पर मॉडल वेट्स/पूरा मॉडल सेव करता है।
कोड उदाहरण
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.callbacks import ModelCheckpoint
import os
def create_model():
model = keras.Sequential([
layers.Dense(64, activation='relu', input_shape=(784,)),
layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
return model
# चेकपॉइंट पथ
checkpoint_path = "training_1/cp.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)
os.makedirs(checkpoint_dir, exist_ok=True)
# कॉलबैक बनाएं
cp_callback = ModelCheckpoint(
filepath=checkpoint_path,
save_weights_only=True, # केवल वेट्स
verbose=1,
save_freq='epoch' # हर एपोक पर
)
print("नए कॉलबैक के साथ मॉडल प्रशिक्षित किया जा रहा है...")
model = create_model()
history = model.fit(
train_images, train_labels,
epochs=10,
validation_data=(test_images, test_labels),
callbacks=[cp_callback],
verbose=0
)
# चेकपॉइंट डायरेक्टरी सूचीबद्ध करें
print("चेकपॉइंट फाइलें:")
for f in os.listdir(checkpoint_dir):
print(f" {f}")
# नवीनतम चेकपॉइंट
latest = tf.train.latest_checkpoint(checkpoint_dir)
print(f"नवीनतम चेकपॉइंट: {latest}")
आउटपुट
नए कॉलबैक के साथ मॉडल प्रशिक्षित किया जा रहा है... Epoch 1: saving model to training_1/cp.ckpt Epoch 2: saving model to training_1/cp.ckpt ... Epoch 10: saving model to training_1/cp.ckpt चेकपॉइंट फाइलें: cp.ckpt.data-00000-of-00001 cp.ckpt.index नवीनतम चेकपॉइंट: training_1/cp.ckpt
ModelCheckpoint प्रमुख पैरामीटर्स
| पैरामीटर | विवरण |
|---|---|
filepath | सेव पथ (फॉर्मेट स्ट्रिंग समर्थित: {epoch}, {val_loss}) |
monitor | निगरानी मेट्रिक (डिफ़ॉल्ट: 'val_loss') |
save_best_only | True: केवल सर्वश्रेष्ठ सेव करें |
save_weights_only | True: केवल वेट्स, False: पूरा मॉडल |
mode | 'auto', 'min', 'max' — मॉनिटर दिशा |
save_freq | 'epoch', integer (बैच), या callable |
verbose | 0/1 — लॉगिंग स्तर |
सर्वश्रेष्ठ मॉडल सेव करने का उदाहरण
cp_callback = ModelCheckpoint(
filepath='best_model.h5',
monitor='val_accuracy',
mode='max',
save_best_only=True,
save_weights_only=False # पूरा मॉडल
)