docstr: main processes to direct update sparsity
  default action:
      get all input from node_info.output_randomize and apply the node_info.output_masks;
      execute the node and get the output;
      calc the out_mask from the output and store to node_info.output_masks.
docstr_tok: ["main","processes","to","direct","update","sparsity","default","action",":","get","all","input","from","node_info.output_randomize","and","apply","the","node_info.output_masks",";","execute","the","node","and","get","the","output",";","calc","the","out_mask","from","the","output","and","store","to","node_info.output_masks","."]
code: def direct_update_process(
      self, model_speedup: "ModelSpeedup", node: Node
  ):
      """
      main processes to direct update sparsity
      default action:
          get all input from node_info.output_randomize and apply the node_info.output_masks;
          execute the node and get the output;
          calc the out_mask from the output and store to node_info.output_masks.
      """
      raise RuntimeError(
          "direct_update_process method should be overrided!"
      )
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Tuple
  import operator
  import torch
  from torch.nn import functional
  from torch.fx.node import Node
  from torch.utils._pytree import tree_flatten, tree_unflatten
  from .utils import randomize_tensor_inplace, randomize_if_tensor, tree_map_zip, torch_float_dtype, poss_deepcopy
label_desc: Use image node_id 3 for calling the MaskUpdater obj's underlying member method code with example usage: obj.direct_update_process(model_speedup, node) without return types