class_docstr: User-defined kvstore for DGL-KGE
      
class_docstr_tok: ["User-defined","kvstore","for","DGL-KGE"]
docstr: Row-Sparse Adagrad updater
          
docstr_tok: ["Row-Sparse","Adagrad","updater"]
code: def _push_handler(self, name, ID, data, target):
      """Row-Sparse Adagrad updater"""
      original_name = name[0:-6]
      state_sum = target[original_name + "_state-data-"]
      grad_sum = (data * data).mean(1)
      state_sum.index_add_(0, ID, grad_sum)
      std = state_sum[ID]  # _sparse_mask
      std_values = std.sqrt_().add_(1e-10).unsqueeze(1)
      tmp = -self.clr * data / std_values
      target[name].index_add_(0, ID, tmp)
  
imports: import os
  import argparse
  import time
  import socket
  import sys
  import dgl
  from dgl.contrib import KVServer
  import torch
  from .train_pytorch import load_model
  from .dataloader import get_server_partition_dataset
label_desc: Use image node_id 1 for calling the KGEServer obj's underlying member method code with example usage: obj._push_handler(name, ID, data, target) without return types