class_docstr: Sparse Random Projection using PyTorch operations.
  
  Args:
      eps (float, optional): Minimum distortion rate parameter for calculating
          Johnson-Lindenstrauss minimum dimensions. Defaults to 0.1.
      random_state (int | None, optional): Uses the seed to set the random
          state for sample_without_replacement function. Defaults to None.
code: def __init__(
      self, eps: float = 0.1, random_state: int | None = None
  ) -> None:
      self.n_components: int
      self.sparse_random_matrix: Tensor
      self.eps = eps
      self.random_state = random_state
  
file_path: anomalib/src/anomalib/models/components/dimensionality_reduction/random_projection.py
imports: from __future__ import annotations
  import numpy
  import torch
  from sklearn.utils.random import sample_without_replacement
  from torch import Tensor
label_desc: Use image node_id 1 to create a new SparseRandomProjection object  with example: obj = SparseRandomProjection(eps, random_state)