Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
amakelov
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
Late Takes on OpenAI O1
(alexirpan.com)
4 points
by
amakelov
2y ago
|
0 comments
2.
▲
by
amakelov
2y ago
Thanks! And thanks for sharing the pointer - I think I've seen `mltrace` at some point in the past. The tool has some similarities, but seems different from `mandala` on a philosophical level - `mltrace` seems more opinionated and doma
3.
▲
by
amakelov
2y ago
Thanks Rachit! Great running into you after all these years! Being aware of types is certainly a must in a more performance-critical implementation; this project is not at this stage though, opting for simplicity and genericity instead. I&#
4.
▲
by
amakelov
2y ago
Forgot to mention: yes, the dependency tracking is transitive, i.e. if your @op calls a @track-decorated function, which in turn calls another @track-decorated function, then both dependencies will show up, etc.
5.
▲
by
amakelov
2y ago
Thanks for sharing! This is a great project. It is quite close to the memoization part of `mandala` and I'll add it to the related work in the README. I think the similarities are: - using `joblib` to hash arbitrary objects (which is a
6.
▲
by
amakelov
2y ago
Great question! The versioning system does something essentially equivalent to what you describe. It currently works as follows: - When a call to an `@op` is executed, it keeps a stack of @track-decorated functions that are called (you can
7.
▲
by
amakelov
2y ago
Thanks! Yes I think a caching solution like this is great for notebooks, because it makes it very cheap to re-run the whole thing (as long as you reasonably organized long-running computations into `@op`s), overcoming the notorious state pr
8.
▲
by
amakelov
2y ago
Oh also totally missed the Borges mention the first time - I'm a big fan of his stories!
9.
▲
by
amakelov
2y ago
Thanks! Indeed, despite the fact that the main goal is to track ML experiments, the approach taken in `mandala` has a lot in common with e.g. time-travel debugging ( https://en.wikipedia.org/wiki/Time_travel_debugging ).
10.
▲
by
amakelov
2y ago
This blog port gives an overview of the core dependency tracking logic: https://amakelov.github.io/blog/deps/
11.
▲
by
amakelov
2y ago
Ah, yes, the notorious state problem in notebooks. In your project, do you find the dependencies statically or dynamically?
12.
▲
by
amakelov
2y ago
Great question - personally, I mostly use it from notebooks, and I think it's a great fit for that. Bundling experiment tracking with incremental computation makes a lot of sense in a notebook (or any other interactive) environment, be
13.
▲
by
amakelov
2y ago
Thanks! Indeed, the ultimate (but very ambitious from the point of view of coordination and infrastructure) vision would be to build the "planetary computer" where everyone can contribute and every computation is transparently rep
14.
▲
by
amakelov
2y ago
In order, 1. Yes, you can choose to create a persistent storage by passing `db_path` to `Storage()`. The current implementation is just an SQLite file. To run on many machines, you don't really need to be able to re-import from a dataf
15.
▲
Show HN: Mandala – Automatically save, query and version Python computations
(github.com)
100 points
by
amakelov
2y ago
|
30 comments
16.
▲
Tidy Computations
(amakelov.github.io)
2 points
by
amakelov
2y ago
|
0 comments
17.
▲
by
amakelov
3y ago
This is neat and self-contained! But as someone running experiments with a high degree of interactivity, I often have an orthogonal requirement: add more computations to the same cell without recomputing previous computations done in the
18.
▲
by
amakelov
3y ago
I see two concerns here: - inputs/outputs being high volume: the inputs/outputs that are large are often also things that don't change over the course of a project (e.g. a dataset or a model). So you don't really need to
19.
▲
by
amakelov
3y ago
Author here - thank you for the compliment! Always happy to answer any questions (the docs are admittedly quite sparse) and hear about what people like/dislike about the library!
20.
▲
Practical dependency tracking for Python function calls
(amakelov.github.io)
2 points
by
amakelov
3y ago
|
0 comments
21.
▲
by
amakelov
3y ago
The dependency tracking and the graph/SQL thing are largely independent pieces. The graph/SQL thing is used to query the memoization tables of the memoized functions by "joining them along a given computational graph". T
22.
▲
by
amakelov
3y ago
Hi, author here. Sorry about the confusion - this blog post's intention was to give a more programming-language-themed introduction to the project (discussion on r/programminglanguages is here: https://www.reddit.com&#x