code: def test_gd_storage(self):
      optimizer = algorithms.GradientDescent(
          [
              layers.Input(2),
              layers.Sigmoid(3),
              layers.Sigmoid(1),
          ],
          step=0.2,
          shuffle_data=True,
      )
      recovered_optimizer = pickle.loads(pickle.dumps(optimizer))
  
      self.assertAlmostEqual(recovered_optimizer.step, 0.2)
      self.assertEqual(recovered_optimizer.shuffle_data, True)
  
file_path: neupy/tests/algorithms/gd/test_gd.py
imports: import pickle
  import numpy
  import tensorflow
  from neupy import algorithms, layers
  from neupy.algorithms.gd import objectives
  from neupy.exceptions import InvalidConnection
  from base import BaseTestCase
  from helpers import simple_classification
label_desc: Use image node_id 5 for calling the GradientDescentTestCase obj's underlying member method code with example usage: obj.test_gd_storage() without return types