code: def _create_sparse_kvstore(kvstore):
      """Create kvstore assuming some parameters' storage types are row_sparse.
  
      Parameters
      ----------
      kvstore : KVStore or str
          The kvstore.
  
      Returns
      -------
      kvstore : KVStore
      update_on_kvstore : bool. Always True.
      """
      # always update on kvstore
      if isinstance(kvstore, kvs.KVStore):
          kv = kvstore
      elif isinstance(kvstore, str):
          kv = kvs.create(kvstore)
      else:
          raise TypeError(
              f"Cannot create '{kvstore}' KVStore with row_sparse parameters. "
              "The type must be KVStore or str."
          )
      assert kv.is_capable(kvs.KVStoreBase.OPTIMIZER), (
          "KVStore with sparse weight requires optimizer support. "
          "However, type(kv) does not support optimizer. "
          "Please consider other kvstore backends (e.g. dist_device) instead."
      )
      return (kv, True)
  
file_path: mxnet/python/mxnet/model.py
imports: import os
  import logging
  from collections import namedtuple
  import numpy
  from .None import ndarray
  from .None import symbol
  from .None import kvstore
  from .device import cpu
label_desc: Use image node_id 1 for calling a global function with example usage: _create_sparse_kvstore(kvstore) and returns: kv,  True