चेकपॉइंट कॉलबैक से नवीनतम वेट्स लोड करना
प्रशिक्षण के दौरान ModelCheckpoint कॉलबैक से सेव किए गए चेकपॉइंट्स में से नवीनतम (latest) को लोड करके मॉडल रीसेट करें।
कोड उदाहरण
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.callbacks import ModelCheckpoint
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_dir = './checkpoints'
checkpoint_path = os.path.join(checkpoint_dir, 'cp-{epoch:04d}.ckpt')
cp_callback = ModelCheckpoint(
filepath=checkpoint_path,
save_weights_only=True,
verbose=1,
save_freq='epoch' # हर एपोक पर सेव
)
# मान लें प्रशिक्षण हो चुका है और चेकपॉइंट्स मौजूद हैं
# नवीनतम चेकपॉइंट खोजें
latest = tf.train.latest_checkpoint(checkpoint_dir)
print(f"नवीनतम चेकपॉइंट: {latest}")
# नया मॉडल इंस्टेंस बनाएं
model = create_model()
# नवीनतम वेट्स लोड करें
model.load_weights(latest)
print("पहले से सेव किए गए वेट्स लोड किए गए")
# पुनः मूल्यांकन करें
loss, acc = model.evaluate(test_images, test_labels, verbose=2)
print(f"रिस्टोर्ड मॉडल एक्यूरेसी: {100 * acc:.3f}%")
आउटपुट
नवीनतम चेकपॉइंट: ./checkpoints/cp-0010.ckpt पहले से सेव किए गए वेट्स लोड किए गए पुनः मूल्यांकन: 32/32 - 0s - loss: 0.4828 - sparse_categorical_accuracy: 0.8770 रिस्टोर्ड मॉडल एक्यूरेसी: 87.700%
मुख्य फ़ंक्शन्स
tf.train.latest_checkpoint(dir)— डायरेक्टरी में सबसे नई चेकपॉइंट फाइल का पथ लौटाता है।model.load_weights(path)— निर्दिष्ट चेकपॉइंट से वेट्स लोड करता है।model.evaluate()— टेस्ट डेटा पर प्रदर्शन मापता है।
चेकपॉइंट नामकरण
# {epoch:04d} → 4 अंकों का एपोक नंबर
checkpoint_path = "training/cp-{epoch:04d}.ckpt"
# cp-0001.ckpt, cp-0002.ckpt, ...
# save_freq विकल्प
save_freq='epoch' # हर एपोक
save_freq=100 # हर 100 बैच
save_freq=5*batch_size # हर 5 एपोक (बैच-आधारित)
वर्कफ़्लो सारांश
- नया मॉडल इंस्टेंस बनाएं (
create_model())। latest_checkpoint()से नवीनतम चेकपॉइंट पथ प्राप्त करें।load_weights()से वेट्स लोड करें।evaluate()से प्रदर्शन जांचें।