文件名称:Multicore-TSNE:使用Python和Torch包装器的并行t-SNE实现
文件大小:323KB
文件格式:ZIP
更新时间:2024-03-11 23:28:04
tsne barnes-hut-tsne multicore py-bh-tsne C++
多核t-SNE 这是L. Van der Maaten用python和基于Torch CFFI的包装器对进行的多核修改。 此代码还比1核上的sklearn.TSNE更快。 期待什么 Barnes-Hut t-SNE分两步完成。 第一步:建立用于最近邻居搜索的有效数据结构,并将其用于计算概率。 可以针对数据集中的每个点并行完成此操作,这就是为什么我们可以期望通过使用更多核来实现良好的加速。 第二步:使用梯度下降优化嵌入。 这部分基本上是连续的,因此我们只能在迭代内进行优化。 实际上,某些部分可以有效地并行化,但是暂时还不能全部并行化。 这就是为什么第二步加速不如第一步加速那么重要,但仍有改进的空间。 那么什么时候可以受益于并行化呢? 几乎可以肯定,第二步的计算时间是D常数,主要取决于N 第一部分的时间很大程度上取决于D ,因此对于较小的D time(Step 1) << time(S
【文件预览】:
Multicore-TSNE-master
----MANIFEST.in(206B)
----.travis.yml(2KB)
----multicore_tsne()
--------tsne.h(1KB)
--------splittree.h(2KB)
--------vptree.h(7KB)
--------splittree.cpp(7KB)
--------CMakeLists.txt(849B)
--------tsne.cpp(20KB)
----tsne-embedding.py(2KB)
----.appveyor.yml(1KB)
----requirements.txt(25B)
----MulticoreTSNE()
--------tests()
--------__init__.py(5KB)
--------examples()
----setup.py(3KB)
----.gitignore(45B)
----README.md(6KB)
----torch()
--------ffi.lua(367B)
--------tsne-1.0-0.rockspec(745B)
--------tests()
--------CMakeLists.txt(432B)
--------init.lua(664B)
----mnist-tsne.png(293KB)
----LICENSE.txt(1KB)