distributed
pathml
distributed | pathml | |
---|---|---|
3 | 2 | |
1,543 | 362 | |
0.6% | 2.5% | |
9.6 | 8.0 | |
2 days ago | 25 days ago | |
Python | Python | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 only |
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.
distributed
-
Shuffling large data at constant memory in Dask
Thanks, if you give it a try, you can share your experience in this GitHub issue, where developers are collecting info for further improvements. https://github.com/dask/distributed/discussions/7509
- Great forward progress on squashing cluster deadlocks
-
Dask – a flexible library for parallel computing in Python
I would not recommend Dask. We use it just for simple job scheduling (that is, none of its fancy data structures) and run into issues just getting the work done efficiently. This issue, for instance, keeps the cluster from actually being utilized fully: https://github.com/dask/distributed/issues/4501. I feel like I'm on crazy pills, because it seems pretty serious yet it's gotten no attention.
pathml
- Hilo Semanal de Consultas IT - Asesoría Técnica, Desarrollo Profesional y Aprendizaje
-
Dask – a flexible library for parallel computing in Python
We have been using dask to support our computational pathology workflows [1], where the images are so big that they cannot be loaded in memory, let alone analyzed (standard pathology whole slide images are ~1GB; some microscopy techniques generate images >1TB). We divide each image into a bunch of smaller tiles and process each tile independently. The dask.distributed scheduler lets us scale up by distributing the tile processing across a cluster.
Benefits of dask.distributed: easy to get up and running, and has support for spinning up clusters on lots of different computing platforms (local machines, HPC cluster, k8s, etc.)
One difficulty is optimizing performance - there are so many configuration details (job size, number of workers, worker resources, etc. etc.) that it's been hard to know what is best.
[1] https://github.com/Dana-Farber-AIOS/pathml
What are some alternatives?
mpire - A Python package for easy multiprocessing, but faster than multiprocessing
cunumeric - An Aspiring Drop-In Replacement for NumPy at Scale
slideflow - Deep learning library for digital pathology, with both Tensorflow and PyTorch support.
legate.pandas - An Aspiring Drop-In Replacement for Pandas at Scale
Keras - Deep Learning for humans
tdigest - t-Digest data structure in Python. Useful for percentiles and quantiles, including distributed enviroments like PySpark
pytorch-ssim - pytorch structural similarity (SSIM) loss
go-micro - A Go microservices framework
cudf - cuDF - GPU DataFrame Library
FindTheMag - A tool to determine optimal projects for Gridcoin crunchers. Maximize your magnitude!