Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

केरस (Keras) में कॉलबैक बनाकर वेट्स सेव करना

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
)

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}")

आउटपुट

नए कॉलबैक के साथ मॉडल प्रशिक्षित किया जा रहा है...
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

कॉलबैक कैसे काम करता है

  1. प्रशिक्षण शुरू — fit() कॉल।
  2. हर एपोक अंत — कॉलबैक का on_epoch_end ट्रिगर होता है।
  3. वेट्स सेव — model.save_weights(filepath) आंतरिक रूप से कॉल होता है।
  4. ओवरराइट — समान फाइलनाम होने पर पिछला चेकपॉइंट ओवरराइट होता है (यदि save_best_only=False)।

उपयोग के लाभ

  • प्रशिक्षण बाधित होने पर पुनः शुरू कर सकते हैं (नवीनतम चेकपॉइंट से)।
  • सर्वश्रेष्ठ मॉडल स्वचालित रूप से रख सकते हैं (save_best_only=True)।
  • लंबे प्रशिक्षण में प्रगति सुरक्षित रहती है।
  • फाइन-ट्यूनिंग/ट्रांसफर लर्निंग के लिए वेट्स उपलब्ध।

पुनः लोड करना

# नवीनतम चेकपॉइंट से
latest = tf.train.latest_checkpoint(checkpoint_dir)
model = create_model()
model.load_weights(latest)

# या सर्वश्रेष्ठ मॉडल (यदि save_best_only=True)
model = create_model()
model.load_weights('best_model.h5')
  1. Python का उपयोग करके Keras से मॉडल कैसे प्लॉट करें? Python का उपयोग करके Keras से मॉडल कैसे प्लॉट करें?

    Tensorflow Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ संयोजन में एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग शोध और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें ऑप्टिमाइज़ेशन तकनीकें है

  1. Python का उपयोग करके Keras से मॉडल को ग्राफ के रूप में प्लॉट करें और इनपुट/आउटपुट शेप प्रदर्शित करें Python का उपयोग करके Keras से मॉडल को ग्राफ के रूप में प्लॉट करें और इनपुट/आउटपुट शेप प्रदर्शित करें

    Tensorflow Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ संयोजन में एल्गोरिदम, डीप लर्निंग एप्लिकेशन, और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग शोध और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें ऑप्टिमाइज़ेशन तकनीकें ह

  1. Python का उपयोग करके Keras फंक्शनल API से लेयर्स कैसे बनाएं? Python का उपयोग करके Keras फंक्शनल API से लेयर्स कैसे बनाएं?

    Tensorflow Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ संयोजन में एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग शोध और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें ऑप्टिमाइज़ेशन तकनीकें है