code: def dropout(X, drop_probability=0.5, seed=0, training_mode=False, return_mask=False):  # type: ignore
      if drop_probability == 0 or training_mode is False:
          if return_mask is True:
              return X, np.ones(X.shape, dtype=bool)
          else:
              return X
  
      np.random.seed(seed)
      mask = np.random.uniform(0, 1.0, X.shape) >= drop_probability
      scale = 1 / (1 - drop_probability)
      if return_mask:
          return mask * X * scale, mask.astype(bool)
      return mask * X * scale
  
file_path: onnx/onnx/backend/test/case/node/dropout.py
imports: import numpy
  import onnx
  from onnx import helper
  from onnx.backend.test.case.base import Base
  from onnx.backend.test.case.node import expect
label_desc: Use image node_id 1 for calling a global function with example usage: dropout(X, drop_probability, seed, training_mode, return_mask) and returns: unknown, unknown,  mask, X,  np, X