Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEA] t-SNE Python API to accept KNN graph directly #1780

Closed
cjnolet opened this issue Mar 2, 2020 · 1 comment · Fixed by #2592
Closed

[FEA] t-SNE Python API to accept KNN graph directly #1780

cjnolet opened this issue Mar 2, 2020 · 1 comment · Fixed by #2592
Assignees
Labels
? - Needs Triage Need team to review and classify Contributions welcome Soliciting for contributions from the community feature request New feature or request

Comments

@cjnolet
Copy link
Member

cjnolet commented Mar 2, 2020

This has been separated from #1733 as the UMAP side of this feature is a higher priority at the moment. The same set of changes should be made to the t-SNE API, which should be very similar to the changes made to UMAP.

@cjnolet cjnolet added feature request New feature or request ? - Needs Triage Need team to review and classify labels Mar 2, 2020
@cjnolet cjnolet added the Contributions welcome Soliciting for contributions from the community label Mar 11, 2020
@aleksficek
Copy link
Contributor

I'll take on this issue

rapids-bot bot pushed a commit that referenced this issue Dec 11, 2020
Closes #1780

Adding kNN graph input functionality to t-SNE, a request broken off of the issue #1733. t-SNE gathers kNN indices and distances in the first stage of it's computation, by allowing the user to input their own kNN graph, they can skip this step. This should follow #1815 as closely as possible.

**Benefits of this**:
- allow user custom run of kNN algorithm
- can use different distance function instead of t-SNE euclidean default
- allows for speedup if performing grid search by storing and reusing kNN graph

**Includes:**
- [x] Abstracted `extract_knn_graph` so it can be used for both UMAP and t-SNE
- [x] Implemented kNN graph input to Python/Cython layer and C++/CUDA layer
- [x] C++/CUDA Barnes Hut and Exact t-SNE tests
- [x] Python t-SNE tests
- [x] General code cleanup wherever needed

Authors:
  - Aleksander Ficek <alex.ficek99@gmail.com>
  - Corey J. Nolet <cjnolet@gmail.com>
  - Ray Douglass <3107146+raydouglass@users.noreply.github.com>
  - Corey J. Nolet <cjnolet@users.noreply.github.com>

Approvers:
  - Corey J. Nolet

URL: #2592
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
? - Needs Triage Need team to review and classify Contributions welcome Soliciting for contributions from the community feature request New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants