code: def rename_get_variable(mapping):
      
      def custom_getter(getter, name, *args, **kwargs):
          splits = name.split('/')
          basename = splits[-1]
          if basename in mapping:
              basename = mapping[basename]
              splits[-1] = basename
              name = '/'.join(splits)
          return getter(name, *args, **kwargs)
      return custom_getter_scope(custom_getter)
docs: Args:
          mapping(dict): an old -> new mapping for variable basename. e.g. {'kernel': 'W'}
  
      Returns:
          A context where the variables are renamed.