Comments (5)
Ok I bought myself some time by removing a gradient instantiation
from uwot.
I don't recall seeing that many templates in your C++ code. Certainly it's not as bad as anything using Eigen or any of those header-only libraries floating around on CRAN. Surely they would be hit harder by template-related limitations.
from uwot.
It's a mingw problem it seems. Running devtools::load_all
under Linux doesn't give a problem.
Good point about Eigen. Maybe it's because src/r_uwot.cpp
basically generates all combinations of the templated classes: r_uwot.o
and uwot.dll
end up at > 32MB in size.
from uwot.
If major surgery on uwot's C++ code is required... maybe you might consider whether umappp might be a good place to put that effort? It might be possible to achieve the dream of consolidating all the C++ code floating around into a central library that can be re-used elsewhere (e.g., LTLA/umappp#5).
Happy to give you maintainer access, I pretty much copied uwot's code anyway, though I did strip out TBB in favor of std::thread
and/or OpenMP. I don't think I used much templating either.
Anyway, just a thought, no pressure.
from uwot.
Moving over to umappp is a good idea (I also moved to only using std::thread
a while ago). But I probably can't make the change for uwot without breaking backwards compatibility or adding a lot of stuff that no-one would want in umappp. So I will have to work out how to split that up.
In the current code base there are some templated things that only get called once an epoch and which can be made pointer-based, which might buy me some time.
from uwot.
Related Issues (20)
- Test failure an arm64, ppc64el and s390x HOT 8
- Add general_simplicial_set_intersection to the uwot API HOT 3
- umap_transform causes R Studio to abort (R encountered a fatal error.) HOT 4
- umap_transform can give odd results with dens_scale HOT 17
- umap transform fuzzy graph HOT 3
- Citing {uwot} HOT 1
- Weird looking UMAP for spectral flow data HOT 3
- What C++ version should CXX_STD have? HOT 16
- I can not load the saved model, an example from the help HOT 9
- Reproducibility issue with the same data and OS HOT 17
- umap_transform with seurat umap coordinate HOT 2
- dgCMatrix_colSums' not found error when using a binary matrix HOT 2
- irlba as_cholmod_sparse problems HOT 1
- maybe unintended data use in examples HOT 2
- umap_transform uses a different distance metric if loaded in HOT 5
- `fuzzy_simplicial_set()` for BBKNN HOT 5
- Differences in model parameters when calling umap() causes umap_transform() to error HOT 3
- How to input similarity_graph back into umap parameters? HOT 3
- Range scale input before optimization HOT 2
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 uwot.