t-SNEをCUDA使って爆速で実行

機械学習の研究をしていると特徴量の分布を確認したくなることは多い。特にDomain Adaptationなどの研究になると分布の重なり具合の確認のために可視化が必要となる。

そういった場合によく用いられるのがt-SNEという手法だが、可視化のための低次元空間の算出の処理がとにかく重い。

うっかり多すぎるデータをINPUTしてしまうと、そのままフリーズしたりもする。

何か対策はないものか、、、と調べてたらあったよ(やっぱり)

 

 

機械学習の界隈は「こんなんあればなぁ」と思ったものはだいたい既に実装されているから恐ろしい、技術の進展早すぎ

論文: https://arxiv.org/abs/1807.11824

Code: https://github.com/CannyLab/tsne-cuda

Slide: https://hpml2018.github.io/HPML2018_6.pdf

Anacondaでのインストールも可能: https://anaconda.org/CannyLab/tsnecuda

 

めっちゃ早くなってるやん!!

 

なお、インストール後に『libcublas.so.<VERSION> not found』となった場合は

  • 『LD_LIBRARY_PATH』が正しいか確認
  • CUDAとマッチしたVerのtnsecudaをinstallしているか再確認