How can Tensorflow be used to evaluate both the models on test data using Python?

TensorFlow is a machine learning framework provided by Google. It is an open-source framework used in conjunction with Python to implement algorithms, deep learning applications, and much more. It is used in research and for production purposes.

The 'tensorflow' package can be installed on Windows using the below line of code ?

pip install tensorflow

Tensor is a data structure used in TensorFlow. It helps connect edges in a flow diagram. This flow diagram is known as the 'Data flow graph'. Tensors are nothing but a multidimensional array or a list.

We are using Google Colaboratory to run the below code. Google Colab or Colaboratory helps run Python code over the browser and requires zero configuration and free access to GPUs (Graphical Processing Units). Colaboratory has been built on top of Jupyter Notebook.

Model Evaluation Setup

Before evaluating models, we need to prepare our test datasets and trained models. Here's a complete example showing how to evaluate both binary and integer vectorized models ?

import tensorflow as tf
import numpy as np

# Create sample test data for demonstration
# Binary vectorized data (0s and 1s)
binary_test_data = np.random.randint(0, 2, (1000, 100)).astype(np.float32)
binary_test_labels = np.random.randint(0, 2, (1000,)).astype(np.float32)

# Integer vectorized data (word indices)
int_test_data = np.random.randint(1, 1000, (1000, 100)).astype(np.float32)
int_test_labels = np.random.randint(0, 2, (1000,)).astype(np.float32)

# Create test datasets
binary_test_ds = tf.data.Dataset.from_tensor_slices((binary_test_data, binary_test_labels)).batch(32)
int_test_ds = tf.data.Dataset.from_tensor_slices((int_test_data, int_test_labels)).batch(32)

# Create simple models for demonstration
binary_model = tf.keras.Sequential([
    tf.keras.layers.Dense(64, activation='relu', input_shape=(100,)),
    tf.keras.layers.Dense(1, activation='sigmoid')
])

int_model = tf.keras.Sequential([
    tf.keras.layers.Embedding(1000, 32, input_length=100),
    tf.keras.layers.GlobalAveragePooling1D(),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(1, activation='sigmoid')
])

# Compile models
binary_model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
int_model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

print("Models created and compiled successfully")
Models created and compiled successfully

Evaluating Both Models

The evaluate() method returns the loss and metrics for the model in test mode. Here's how to evaluate both models on their respective test datasets ?

print("The model is being evaluated")
binary_loss, binary_accuracy = binary_model.evaluate(binary_test_ds, verbose=1)
int_loss, int_accuracy = int_model.evaluate(int_test_ds, verbose=1)

print("The accuracy of Binary model is: {:2.2%}".format(binary_accuracy))
print("The accuracy of Int model is: {:2.2%}".format(int_accuracy))
The model is being evaluated
32/32 [==============================] - 1s 12ms/step - loss: 0.6931 - accuracy: 0.5000
32/32 [==============================] - 1s 14ms/step - loss: 0.6932 - accuracy: 0.4980
The accuracy of Binary model is: 50.00%
The accuracy of Int model is: 49.80%

Understanding the Evaluation Process

The evaluate() method performs the following steps ?

  • Batch Processing: Processes test data in batches for memory efficiency
  • Forward Pass: Runs predictions on test samples without updating weights
  • Metric Calculation: Computes loss and accuracy across all test batches
  • Return Values: Returns loss as first value, followed by additional metrics

Comparison of Model Performance

Model Type Input Format Use Case Typical Performance
Binary Model 0s and 1s Simple text classification Faster training, less memory
Integer Model Word indices Advanced NLP tasks Better semantic understanding

Conclusion

Use TensorFlow's evaluate() method to assess model performance on test data. The method returns loss and accuracy values, allowing you to compare different model architectures and choose the best performing one for your specific task.

Updated on: 2026-03-25T15:24:12+05:30

184 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements