code: def fit(self, X):
      lens = (X**2).sum(-1)
      if self._metric == "angular":
          X /= np.sqrt(lens)[..., np.newaxis]
          self.index = np.ascontiguousarray(X, dtype=self._precision)
      elif self._metric == "euclidean":
          self.index = np.ascontiguousarray(X, dtype=self._precision)
          self.lengths = np.ascontiguousarray(
              lens, dtype=self._precision
          )
      elif self._metric == "dot":
          self.index = np.ascontiguousarray(X, dtype=self._precision)
  
file_path: n2/benchmarks/data/create_youtube_dataset.py
imports: import sys
  import h5py
  import numpy
  from sklearn.model_selection import train_test_split
  from metrics import metrics
label_desc: Use image node_id 2 for calling the BruteForceBLAS obj's underlying member method code with example usage: obj.fit(X) without return types