code: def movement_mul_mask(
      target: torch.Tensor, target_space: PruningTargetSpace
  ):
      score = getattr(
          target_space._wrapper,
          f"{target_space._target_name}_mvp_score",
          None,
      )
      if score is None:
          return mul_mask(target, target_space)
      else:
          assert (
              target_space.mask is not None
              and target_space.shape is not None
          )
          if target_space._scaler is not None:
              score = target_space._scaler.expand(
                  score,
                  target_space.shape,
                  keepdim=True,
                  full_expand=False,
              )
          return torch.mul(
              target, _StraightThrough.apply(score, target_space.mask)
          )
  
imports: from typing import Any
  import torch
  from .target_space import PruningTargetSpace, QuantizationTargetSpace, TargetSpace, TargetType
label_desc: Use image node_id 6 for calling a global function with example usage: movement_mul_mask(target, target_space) and returns: mul_mask, torch