अनप्रशिक्षित मॉडल का मूल्यांकन
नवनिर्मित (अनप्रशिक्षित) मॉडल को टेस्ट डेटा पर evaluate() करके बेसलाइन प्रदर्शन देखें।
कोड उदाहरण
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
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("मॉडल मूल्यांकन किया जा रहा है (अनप्रशिक्षित)...")
loss, acc = model.evaluate(test_images, test_labels, verbose=2)
print(f"अनप्रशिक्षित मॉडल एक्यूरेसी: {100 * acc:.3f}%")
आउटपुट
मॉडल इंस्टेंस बनाया जा रहा है... मॉडल मूल्यांकन किया जा रहा है (अनप्रशिक्षित)... 32/32 - 0s - loss: 2.3026 - sparse_categorical_accuracy: 0.0930 अनप्रशिक्षित मॉडल एक्यूरेसी: 9.300%
व्याख्या
- यादृच्छिक वेट्स: अनप्रशिक्षित मॉडल के वेट्स यादृच्छिक रूप से प्रारंभ होते हैं।
- 10 क्लासेस: MNIST में 10 अंक (0-9), यादृच्छिक अनुमान से ~10% एक्यूरेसी अपेक्षित।
- लॉस ~2.3: क्रॉस-एन्ट्रॉपी लॉस लिए यूनिफॉर्म वितरण (1/10 प्रति क्लास) ≈ -ln(0.1) ≈ 2.3।
evaluate() पैरामीटर्स
| पैरामीटर | विवरण |
|---|---|
x, y | टेस्ट डेटा और लेबल |
batch_size | मूल्यांकन बैच आकार (डिफ़ॉल्ट 32) |
verbose | 0=साइलेंट, 1=प्रोग्रेस बार, 2=प्रति एपोक लाइन |
sample_weight | वैकल्पिक नमूना वजन |
return_dict | True: शब्दकोश लौटाएं (TF 2.6+) |
उपयोग के मामले
- बेसलाइन स्थापित करना (यादृच्छिक vs प्रशिक्षित)।
- हाइपरपैरामीटर तुलना।
- मॉडल चयन/आर्किटेक्चर खोज।
- प्रशिक्षण के दौरान सत्यापन (validation_data में)।
प्रशिक्षण के बाद
model.fit(train_images, train_labels, epochs=5)
loss, acc = model.evaluate(test_images, test_labels)
print(f"प्रशिक्षित मॉडल एक्यूरेसी: {100*acc:.2f}%") # ~97-98%