code: def run(self, n_samples=1000, random_state=-1):
      import sys
  
      sys.path.append("FIt-SNE")
      from fast_tsne import fast_tsne
  
      x, y = self.load_data(n_samples=n_samples)
  
      print("-" * 80)
      print("Random state", random_state)
      print("-" * 80, flush=True)
  
      if random_state == -1:
          init = openTSNE.initialization.random(x, n_components=2)
      else:
          init = openTSNE.initialization.random(
              x, n_components=2, random_state=random_state
          )
  
      start = time.time()
      fast_tsne(
          x,
          map_dims=2,
          initialization=init,
          perplexity=self.perplexity,
          stop_early_exag_iter=250,
          early_exag_coeff=12,
          nthreads=self.n_jobs,
          seed=random_state,
      )
      print("FIt-SNE:", time.time() - start, flush=True)
  
imports: import gzip
  import pickle
  import time
  from os import path
  import fire
  import numpy
  from MulticoreTSNE import MulticoreTSNE
  from sklearn.manifold import TSNE
  from sklearn.utils import check_random_state
  import openTSNE
  import openTSNE.callbacks
label_desc: Use image node_id 1 for calling the FItSNE obj's underlying member method code with example usage: obj.run(n_samples, random_state) without return types