機械学習の研究をしていると特徴量の分布を確認したくなることは多い。特にDomain Adaptationなどの研究になると分布の重なり具合の確認のために可視化が必要となる。
そういった場合によく用いられるのがt-SNEという手法だが、可視化のための低次元空間の算出の処理がとにかく重い。
うっかり多すぎるデータをINPUTしてしまうと、そのままフリーズしたりもする。
何か対策はないものか、、、と調べてたらあったよ(やっぱり)
t-SNEの計算重いなぁと思っていたらCUDA実行のライブラリあるやん!しかもcondaでinstallできる!(知らんかった・・・/(^o^)\)https://t.co/QoFaOcdfAL
— 岡本大和 on ロードローラー (@RoadRoller_DESU) January 20, 2020
機械学習の界隈は「こんなんあればなぁ」と思ったものはだいたい既に実装されているから恐ろしい、技術の進展早すぎ
論文: 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しているか再確認