BanditPAM
Pytorch
BanditPAM | Pytorch | |
---|---|---|
8 | 340 | |
644 | 78,016 | |
- | 1.4% | |
8.5 | 10.0 | |
3 months ago | 3 days ago | |
C++ | Python | |
MIT License | BSD 1-Clause License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BanditPAM
-
Want something better than k-means? Try BanditPAM (github.com/motiwari)
Repo: https://github.com/motiwari/BanditPAM
-
[Q] How should I perform clustering on angular data?
It's written in C++ for speed, but callable from Python and R. It also supports parallelization and intelligent caching at no extra complexity to end users. Its interface also matches the sklearn.cluster.KMeans interface, so minimal changes are necessary to existing code. repo
-
Show HN: Want something better than k-means? Try BanditPAM
Thanks for bug report and repro steps! I've filed this issue at https://github.com/motiwari/BanditPAM/issues/244 on our repo.
I suspect that this is because the scikit-learn implementation of KMeans subsamples the data and uses some highly-optimized data structures for larger datasets. I've asked the team to see how we can use some of those techniques in BanditPAM and will update the Github repo as we learn more and improve our implementation.
Want something better than k-means? I'm happy to announce our SOTA k-medoids algorithm from NeurIPS 2020, BanditPAM, is now publicly available! `pip install banditpam` or `install.packages("banditpam")` and you're good to go!
Unlike in k-means, the k-medoids problem requires cluster centers to be actual datapoints, which permits greater interpretability of your cluster centers. k-medoids also works better with arbitrary distance metrics, so your clustering can be more robust to outliers if you're using metrics like L1.
Despite these advantages, most people don't use k-medoids because prior algorithms were too slow. In our NeurIPS 2020 paper, BanditPAM, we sped up the best known algorithm from O(n^2) to O(nlogn).
We've released our implementation, which is pip- and CRAN-installable. It's written in C++ for speed, but callable from Python and R. It also supports parallelization and intelligent caching at no extra complexity to end users. Its interface also matches the sklearn.cluster.KMeans interface, so minimal changes are necessary to existing code.
Our previous announcement that went viral: https://www.linkedin.com/posts/motiwari_want-something-bette...
PyPI: https://pypi.org/project/banditpam
CRAN: https://cran.r-project.org/web/packages/banditpam/index.html
Repo: https://github.com/motiwari/BanditPAM
Paper: https://arxiv.org/abs/2006.06856
If you find our work valuable, please consider starring the repo or citing our work. These help us continue development on this project.
I'm Mo Tiwari (motiwari.com), a PhD student in Computer Science at Stanford University. A special thanks to my collaborators on this project, Martin Jinye Zhang, James Mayclin, Sebastian Thrun, Chris Piech, and Ilan Shomorony, as well as the author of the R package, Balasubramanian Narasimhan.
(This is my first time posting on HN; I've read the FAQ before posting, but please let me know if I broke any rules)
Pytorch
-
Clasificador de imágenes con una red neuronal convolucional (CNN)
PyTorch (https://pytorch.org/)
-
AI enthusiasm #9 - A multilingual chatbot📣🈸
torch is a package to manage tensors and dynamic neural networks in python (GitHub)
-
Einsum in 40 Lines of Python
PyTorch also has some support for them, but it's quite incomplete and has many issues so that it is basically unusable. And its future development is also unclear. https://github.com/pytorch/pytorch/issues/60832
-
Library for Machine learning and quantum computing
TensorFlow
-
My Favorite DevTools to Build AI/ML Applications!
TensorFlow, developed by Google, and PyTorch, developed by Facebook, are two of the most popular frameworks for building and training complex machine learning models. TensorFlow is known for its flexibility and robust scalability, making it suitable for both research prototypes and production deployments. PyTorch is praised for its ease of use, simplicity, and dynamic computational graph that allows for more intuitive coding of complex AI models. Both frameworks support a wide range of AI models, from simple linear regression to complex deep neural networks.
-
penzai: JAX research toolkit for building, editing, and visualizing neural nets
> does PyTorch have a similar concept
of course https://github.com/pytorch/pytorch/blob/main/torch/utils/_py...
-
Tinygrad: Hacked 4090 driver to enable P2P
fyi should work on most 40xx[1]
[1] https://github.com/pytorch/pytorch/issues/119638#issuecommen...
-
The Elements of Differentiable Programming
Sure, right here: https://github.com/pytorch/pytorch/blob/main/torch/autograd/...
Here's the documentation: https://pytorch.org/tutorials/intermediate/forward_ad_usage....
> When an input, which we call “primal”, is associated with a “direction” tensor, which we call “tangent”, the resultant new tensor object is called a “dual tensor” for its connection to dual numbers[0].
-
Functions and operators for Dot and Matrix multiplication and Element-wise calculation in PyTorch
*My post explains Dot, Matrix and Element-wise multiplication in PyTorch.
-
Dot vs Matrix vs Element-wise multiplication in PyTorch
In PyTorch with @, dot() or matmul():
What are some alternatives?
river - 🌊 Online machine learning in Python
Flux.jl - Relax! Flux is the ML library that doesn't make you tensor
periodic-kmeans
mediapipe - Cross-platform, customizable ML solutions for live and streaming media.
tensorflow - An Open Source Machine Learning Framework for Everyone
Apache Spark - Apache Spark - A unified analytics engine for large-scale data processing
PaddlePaddle - PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
flax - Flax is a neural network library for JAX that is designed for flexibility.
bolt - 10x faster matrix and vector operations
tinygrad - You like pytorch? You like micrograd? You love tinygrad! ❤️ [Moved to: https://github.com/tinygrad/tinygrad]
Pandas - Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
Deep Java Library (DJL) - An Engine-Agnostic Deep Learning Framework in Java