Comments (4)
Given a PyTorch tensor
, can't you simply run run_bh_tsne(tensor.numpy(), **kwargs)
?
from bhtsne.
Thank you for your quick reply! You're right, I was a bit unclear.
The problem with that is that you need to save your whole dataset into memory; I was thinking of a version that uses a data loader instance that returns the batches, and instead of doing gradient descent you do SGD on every batch (and ideally, everything runs on GPU so you don't have to move the tensors back and forth from CPU and GPU).
from bhtsne.
@antspy I see. That is a non-trivial project for at least two reasons: (1) t-SNE is an non-parametric method, which makes getting SGD to work well less trivial (note an SGD update will only update part of the parameters) and (2) implementing an efficient Barnes-Hut algorithm on GPUs is non-trivial because the algorithm is presumably memory-bound rather than compute-bound. Efficient GPU implementations likely require further approximations; see, for instance, this.
from bhtsne.
@lvdmaaten I see. Thank your for the clarification!
from bhtsne.
Related Issues (20)
- Usage of random generator(s) in the source HOT 2
- How can i visualize the image data like this? HOT 1
- bhtsne.py:135: ComplexWarning: Casting complex values to real discards the imaginary part HOT 1
- Butterfly effect HOT 3
- Can not use the python wrapper in Windows
- transposition based on input method HOT 3
- Why is the exact algorithm 10 times faster? HOT 8
- Dimension problem HOT 3
- Can't compile the .exe with visual studio 9.0 HOT 9
- python wrapper - Cost for each sample
- Performance difference to the old version HOT 1
- C API HOT 3
- Bhtsne for large datasets HOT 1
- Performance difference Windows/Ubuntu HOT 2
- t-SNE for Java/Scala/Kotlin/Clojure
- Is there a rule of thumb for the lower bound on the perplexity?
- Why use zeroMean in gradient update?
- Finding P and Q matrices
- Graphics problem with tsne algorithm
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bhtsne.