Live data from Hacker News

Julia library for fast machine learning

turing.ml

11–20 of 40 posts

Re: Julia library for fast machine learning

#11
post #7

The documentation / project page is very well-done, something unfortunately rare in the Julia ecosystem.

To add to that, even if Julia had excellent documentation literally everywhere and on every library, I wish there were better stack trace and meaningful error messages. Even if Julia performed 10x worse, this overlooked aspect of Julia would make up for it. It is rather unbelievable how much time I need to spend to figure out what's wrong with a particular piece of Julia code. Founders of Julia - please focus on erro…

Different users have different problems. I’ll take the recent major advances in, say, start up time and multi threading instead of improvements to the error messages.

Re: Julia library for fast machine learning

#14
post #7

The documentation / project page is very well-done, something unfortunately rare in the Julia ecosystem.

To add to that, even if Julia had excellent documentation literally everywhere and on every library, I wish there were better stack trace and meaningful error messages. Even if Julia performed 10x worse, this overlooked aspect of Julia would make up for it. It is rather unbelievable how much time I need to spend to figure out what's wrong with a particular piece of Julia code. Founders of Julia - please focus on erro…

The debugger has helped a lot for me.

https://julialang.org/blog/2019/03/debuggers/#debugger_and_r...

Re: Julia library for fast machine learning

#15
post #2

Can someone informed give some suggestions as to compare/contrast to other tools at the intersection of probabilistic programming and deep learning? What are relative strengths and weaknesses vs edward or pyro?

Turing.jl is in an interesting spot because it is essentially a DSL-free probabilistic programming language. While it technically has a DSL of sorts given by the `@model` macro, anything that is AD-compatible can be used in this macro and since Julia's AD tools work on things written in the Julia language, this means that you can just throw code from other Julia packages into Turing and just expect AD-compatible thin…

Thank you for this very helpful comment.

Re: Julia library for fast machine learning

#16
post #13

Looking at the examples, I still struggle with code that imports multiple libraries at the top and then uses naked function names without telling me where those functions come from.

In Julia you can `@which naked_function`. That might help.

With Julia's function overloading a function might come from multiple packages.

Re: Julia library for fast machine learning

#17
post #7

The documentation / project page is very well-done, something unfortunately rare in the Julia ecosystem.

Thank you. In addition to the docs on turning.ml, you can find a few examples for the book “Statistical Rethinking” implemented using Turing in https://github.com/StatisticalRethinkingJulia/TuringModels.j....

We are currently also looking for students to help us further improve the documentation and tutorials in the course of the Google summer of Docs. Some possible projects are listed here: https://julialang.org/jsoc/gsod/projects/#turing_probabilist...

Please reach out to us if you are interested.

Re: Julia library for fast machine learning

#18
post #13

Looking at the examples, I still struggle with code that imports multiple libraries at the top and then uses naked function names without telling me where those functions come from.

In Julia you can `@which naked_function`. That might help. With Julia's function overloading a function might come from multiple packages.

Or rather, a function from one package can be extended with methods by other packages.

Re: Julia library for fast machine learning

#19
post #7

The documentation / project page is very well-done, something unfortunately rare in the Julia ecosystem.

To add to that, even if Julia had excellent documentation literally everywhere and on every library, I wish there were better stack trace and meaningful error messages. Even if Julia performed 10x worse, this overlooked aspect of Julia would make up for it. It is rather unbelievable how much time I need to spend to figure out what's wrong with a particular piece of Julia code. Founders of Julia - please focus on erro…

I think this is quite a hard problem to solve. A Python wrapper of some some monolithic C library can check & reject any input which doesn't meet the spec, and tell you why. But a Julia library typically wants to be generic, you should (for instance) be able to pass it weird numbers that contain units/error bars/gradient info, that the library designer knew nothing about, and have these propagate through. When this works it's great, but when it fails, the failure point tends to be 10 layers down, in internal workings you've never heard of. That's part of why error messages are inscrutable.

Re: Julia library for fast machine learning

#20

How does this compare to gen? https://www.gen.dev/

Turing has more things that work out of the box, so if you do not have complex requirements its a good first step. Gen allows for composing models using its generative function interface, you can specify models in different ways. You can also have fine grained control over inference, rather than a few preset methods. Gen has also worse error messages and docs.
Post reply on HN