code: def test_invsqrt(self):
      self._run_pass(
          lr_scheduler="invsqrt", warmup_updates=0, end_zero=False
      )
      self._run_pass(
          lr_scheduler="invsqrt", warmup_updates=50, end_zero=False
      )
  
      # decay very fast
      steps = self._run_pass(
          lr_scheduler="invsqrt",
          warmup_updates=50,
          invsqrt_lr_decay_gamma=1,
          end_zero=False,
      )
      self.assertAlmostEquals(steps[-1], 0.03242722)
  
      # decay very slowly
      steps = self._run_pass(
          lr_scheduler="invsqrt",
          warmup_updates=50,
          invsqrt_lr_decay_gamma=5000,
          end_zero=False,
      )
      assert all(x > 0.9 for x in steps[50:])
  
imports: import os
  import unittest
  import torch
  import parlai.nn.lr_scheduler
  import parlai.utils.testing
label_desc: Use image node_id 5 for calling the TestLRSchedulers obj's underlying member method code with example usage: obj.test_invsqrt() without return types