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

केरस (Keras) में चेकपॉइंट से वेट्स लोड करके मॉडल पुनः मूल्यांकन करना

चेकपॉइंट से वेट्स लोड और पुनः मूल्यांकन

सेव किए गए चेकपॉइंट से वेट्स लोड करके मॉडल को पुनः स्थापित करें और टेस्ट डेटा पर मूल्यांकन करें।

कोड उदाहरण

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
import math as m

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_2/cp-0004.ckpt"  # हर 4 एपोक पर सेव किया गया

# नया मॉडल इंस्टेंस बनाएं (समान आर्किटेक्चर)
model = create_model()

# चेकपॉइंट से वेट्स लोड करें
print("वेट्स लोड किए जा रहे हैं...")
model.load_weights(checkpoint_path)

# पुनः मूल्यांकन करें
print("मॉडल पुनः मूल्यांकन किया जा रहा है...")
loss, acc = model.evaluate(test_images, test_labels, verbose=2)

print(f"रिस्टोर्ड मॉडल एक्यूरेसी: {100 * acc:.3f}%")

आउटपुट

वेट्स लोड किए जा रहे हैं...
मॉडल पुनः मूल्यांकन किया जा रहा है...
32/32 - 0s - loss: 0.4066 - sparse_categorical_accuracy: 0.8740
रिस्टोर्ड मॉडल एक्यूरेसी: 87.400%

चरण-दर-चरण

  1. समान आर्किटेक्चर वाला नया मॉडल इंस्टेंस बनाएं (create_model())।
  2. load_weights(checkpoint_path) से विशिष्ट चेकपॉइंट लोड करें।
  3. evaluate() से टेस्ट लॉस और एक्यूरेसी प्राप्त करें।
  4. परिणाम प्रिंट/लॉग करें।

महत्वपूर्ण नोट्स

  • आर्किटेक्चर **सटीक रूप से समान** होना चाहिए (लेयर क्रम, यूनिट्स, एक्टिवेशन, इनपुट शेप)।
  • load_weights() केवल वेट्स लोड करता है; ऑप्टिमाइज़र स्टेट **नहीं** (उसके लिए model.save() / load_model() उपयोग करें)।
  • verbose=2 प्रति बैच एक लाइन प्रिंट करता है।

सामान्य पैटर्न: सर्वश्रेष्ठ चेकपॉइंट लोड करें

# सर्वश्रेष्ठ चेकपॉइंट स्वचालित खोजें
best_checkpoint = tf.train.latest_checkpoint('training_2/')
# या मॉनिटर-मेट्रिक आधारित
best_checkpoint = 'training_2/cp-0012.ckpt'  # मैन्युअल चयन

model = create_model()
model.load_weights(best_checkpoint)
loss, acc = model.evaluate(test_images, test_labels)
print(f"सर्वश्रेष्ठ मॉडल एक्यूरेसी: {100*acc:.2f}%")
  1. केरस (Keras) में कॉलबैक बनाकर वेट्स सेव करना केरस (Keras) में कॉलबैक बनाकर वेट्स सेव करना

    ModelCheckpoint कॉलबैक बनाना और उपयोग करना प्रशिक्षण के दौरान मॉडल वेट्स को स्वचालित रूप से सेव करने के लिए कॉलबैक कॉन्फ़िगर करें। कोड उदाहरण import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.callbacks import ModelCheckpoint import os de

  1. Python का उपयोग करके Keras से मॉडल कैसे प्लॉट करें? Python का उपयोग करके Keras से मॉडल कैसे प्लॉट करें?

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

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

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