class_docstr: Compute t-SNE embedding using Barnes-Hut optimization and
  multiple cores (if avaialble).
  
  Parameters mostly correspond to parameters of `sklearn.manifold.TSNE`.
  
  The following parameters are unused:
  * n_iter_without_progress
  * min_grad_norm
  * metric
  * method
  
  When `cheat_metric` is true squared equclidean distance is used to build VPTree. 
  Usually leads to same quality, yet much faster.
  
  Parameter `init` doesn't support 'pca' initialization, but a precomputed
  array can be passed.
  
  Parameter `n_iter_early_exag` defines the number of iterations out of total `n_iter`
  to spend in the early exaggeration phase of the algorithm. With default `learning_rate`,
  the default values of 250/1000 may need to be increased when embedding large numbers
  of observations. Properly setting `learning_rate` results in good embeddings with fewer 
  iterations. This interplay is discussed at https://doi.org/10.1101/451690.
class_docstr_tok: ["Compute","t-SNE","embedding","using","Barnes-Hut","optimization","and","multiple","cores","(","if","avaialble",")",".","Parameters","mostly","correspond","to","parameters","of","`","sklearn.manifold.TSNE","`",".","The","following","parameters","are","unused",":","*","n_iter_without_progress","*","min_grad_norm","*","metric","*","method","When","`","cheat_metric","`","is","true","squared","equclidean","distance","is","used","to","build","VPTree",".","Usually","leads","to","same","quality",",","yet","much","faster",".","Parameter","`","init","`","does","n't","support","'pca","'","initialization",",","but","a","precomputed","array","can","be","passed",".","Parameter","`","n_iter_early_exag","`","defines","the","number","of","iterations","out","of","total","`","n_iter","`","to","spend","in","the","early","exaggeration","phase","of","the","algorithm",".","With","default","`","learning_rate","`",",","the","default","values","of","250\/1000","may","need","to","be","increased","when","embedding","large","numbers","of","observations",".","Properly","setting","`","learning_rate","`","results","in","good","embeddings","with","fewer","iterations",".","This","interplay","is","discussed","at","https",":","\/\/doi.org\/10.1101\/451690","."]
code: def fit(self, X, y=None):
      self.fit_transform(X, y)
      return self
  
file_path: Multicore-TSNE/MulticoreTSNE/__init__.py
imports: from __future__ import print_function
  from glob import glob
  import threading
  import os
  import sys
  import numpy
  import cffi
label_desc: Use image node_id 2 for calling the MulticoreTSNE obj's underlying member method code with example usage: obj.fit(X, y) and returns: self