पूरा मॉडल सेव करना: SavedModel फॉर्मेट
TensorFlow 2.x में model.save() डिफ़ॉल्ट रूप से SavedModel फॉर्मेट (डायरेक्टरी) में सेव करता है, जिसमें आर्किटेक्चर, वेट्स, ऑप्टिमाइज़र, और कंपाइलेशन जानकारी शामिल होती है।
कोड उदाहरण
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
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
print("नया मॉडल इंस्टेंस बनाया जा रहा है...")
model = create_model()
print("मॉडल प्रशिक्षण डेटा पर फिट किया जा रहा है...")
model.fit(train_images, train_labels, epochs=5, verbose=0)
print("मॉडल सेव किया जा रहा है...")
os.makedirs('saved_model', exist_ok=True)
model.save('saved_model/my_model')
print("सेव की गई फाइलें:")
for root, dirs, files in os.walk('saved_model'):
for f in files:
print(f" {os.path.join(root, f)}")
आउटपुट
नया मॉडल इंस्टेंस बनाया जा रहा है... मॉडल प्रशिक्षण डेटा पर फिट किया जा रहा है... मॉडल सेव किया जा रहा है... सेव की गई फाइलें: saved_model/my_model/saved_model.pb saved_model/my_model/variables/variables.data-00000-of-00001 saved_model/my_model/variables/variables.index
सेव प्रक्रिया
create_model()— मॉडल आर्किटेक्चर परिभाषित करें।compile()— ऑप्टिमाइज़र, लॉस, मेट्रिक्स सेट करें।fit()— प्रशिक्षण से वेट्स सीखें।save(path)— पूरा मॉडल निर्यात करें।
क्या सेव होता है?
- ✅ मॉडल आर्किटेक्चर (लेयर कॉन्फ़िगरेशन)
- ✅ सभी वेट्स (ट्रेनेबल और नॉन-ट्रेनेबल)
- ✅ ऑप्टिमाइज़र स्टेट (लर्निंग रेट, मोमेंटम, स्टेप काउंट)
- ✅ कंपाइलेशन कॉन्फ़िगरेशन (लॉस, मेट्रिक्स)
- ✅ कस्टम ऑब्जेक्ट्स (यदि पंजीकृत हों)
बाद में उपयोग
# पूर्ण पुनर्स्थापना
restored = tf.keras.models.load_model('saved_model/my_model')
restored.predict(test_data)
restored.fit(more_data, more_labels) # ऑप्टिमाइज़र स्टेट से जारी