code: def test_length_with_higher_cycle_mult(self):
      policy = OptimizerPolicy(sgdr_phases(10, 1, cycle_mult=2))
      self.assertEqual(len(list(policy.all_steps())), 10)
  
      policy = OptimizerPolicy(sgdr_phases(10, 2, cycle_mult=2))
      self.assertEqual(len(list(policy.all_steps())), 30)
  
      policy = OptimizerPolicy(sgdr_phases(10, 3, cycle_mult=2))
      self.assertEqual(len(list(policy.all_steps())), 70)
  
      policy = OptimizerPolicy(sgdr_phases(10, 1, cycle_mult=3))
      self.assertEqual(len(list(policy.all_steps())), 10)
  
      policy = OptimizerPolicy(sgdr_phases(10, 2, cycle_mult=3))
      self.assertEqual(len(list(policy.all_steps())), 40)
  
imports: import unittest
  from poutyne import OptimizerPolicy, Phase, cosinespace, linspace, one_cycle_phases, sgdr_phases
label_desc: Use image node_id 2 for calling the TestSGDR obj's underlying member method code with example usage: obj.test_length_with_higher_cycle_mult() without return types