code: def test_mnist_dataset(self):
      (train_dataset, test_dataset) = datasets.mnist_dataset()
      self.assertEqual(train_dataset.points.shape, (60000, 784))
      self.assertEqual(train_dataset.labels.shape, (60000,))
      self.assertEqual(test_dataset.points.shape, (10000, 784))
      self.assertEqual(test_dataset.labels.shape, (10000,))
      # Check that each train and test point has unit l2-norm.
      for i in range(train_dataset.points.shape[0]):
          self.assertAlmostEqual(
              np.linalg.norm(train_dataset.points[i, :]), 1
          )
      for i in range(test_dataset.points.shape[0]):
          self.assertAlmostEqual(
              np.linalg.norm(test_dataset.points[i, :]), 1
          )
      # Check that each train and test label is in {0,...,9}.
      self.assertTrue(np.all(np.isin(train_dataset.labels, range(10))))
      self.assertTrue(np.all(np.isin(test_dataset.labels, range(10))))
  
file_path: privacy/tensorflow_privacy/privacy/logistic_regression/datasets_test.py
imports: import unittest
  from absl.testing import parameterized
  import numpy
  from tensorflow_privacy.privacy.logistic_regression import datasets
label_desc: Use image node_id 3 for calling the DatasetsTest obj's underlying member method code with example usage: obj.test_mnist_dataset() without return types