code: def learning_rate_scheduler(curr_iter, T_max, eta_max, eta_min=0):
      """
      cosine annealing scheduler.
      """
      lr = eta_min + 0.5 * (eta_max - eta_min) * (
          1 + np.cos(np.pi * (curr_iter / T_max))
      )
      return lr
  
file_path: nnabla/tutorial/finetuning.py
imports: import os
  import importlib
  import nnabla
  import nnabla.functions
  import nnabla.parametric_functions
  import nnabla.solvers
  import numpy
  from nnabla.ext_utils import get_extension_context
  from nnabla.monitor import Monitor, MonitorSeries, MonitorTimeElapsed
  from nnabla.utils.nnp_graph import NnpLoader, NnpNetworkPass
  from nnabla.utils.image_utils import imread
  from nnabla.utils.data_iterator import data_iterator_simple
  import argparse
label_desc: Use image node_id 2 for calling a global function with example usage: learning_rate_scheduler(curr_iter, T_max, eta_max, eta_min) and returns: lr