Out of curiosity, how's the state of DL for Julia. Can I use PyTorch or JAX comfortably in Julia?
Lux.jl does a really good job at being clear with syntax and hackable. I couldn't recommend it more. https://lux.csail.mit.edu/ . Here's good materials to start with: https://lux.csail.mit.edu/dev/tutorials/beginner/1_Basics
Julia 1.10
71–80 of 104 posts
Re: Julia 1.10
#72Earlier quoted context omitted.
Lux.jl does a really good job at being clear with syntax and hackable. I couldn't recommend it more. https://lux.csail.mit.edu/ . Here's good materials to start with: https://lux.csail.mit.edu/dev/tutorials/beginner/1_Basics
What's the user-facing difference between Lux and Flux?
Lux is similar to Flax (Jax) where the parameters are kept in a separate variable from the model definition, and they are passed in on the forward pass. Notably, this design choice allows Lux to accept parameters built with ComponentArrays.jl which can be especially helpful when working with libraries that expect flat vectors of parameters.
Flux lies somewhere between Jax and PyTorch. Like PyTorch, the parameters are stored as part of the model. Unlike traditional PyTorch, Flux has “functional” conventions, e.g. `g = gradient(loss, model)` vs. `loss.backward()`. Similar to Flax, the model is a tree of parameters.
Re: Julia 1.10
#73Earlier quoted context omitted.
As much as it pains me to say it, I don't think Julia will. It looks to me like the practical problems with Julia, while addressable, are being addressed too slowly. There is simply too many rough edges and usability problems as it is now, and at the current pace it will take maybe 10 or 15 years to address them. On the other hand, the major use case for Julia is to have a fast, dynamic language. And it seems to me t…
Python seems to be making rapid strides towards becoming fast
Though as I said before, sometimes no amount of c++/c escape hatches can improve performance since you have to use python objects at some point or another and that will be the bottleneck. But by then, you won't needing some of the stuff Julia offers like the REPL and notebooks etc.
I haven't used Julia a lot but to me it's in a weird spot where it would be ideal to start projects with in theory since you won't need to outgrow the language you are starting with, since it's fast enough and has a pretty good/maintainable/sane design. But then you are sacrificing so much and will need much more time to get started that you might not ever get to that point anyways.
Just as an example, debugging obscure problems or deploying pytorch models that are more custom in prod is already pretty daunting at times, and it's the "best" and most popular ML framework in the world. I can't imagine how much more time consuming it would be when using a much smaller/less used library/framework.
So yeah all of that to say that being way faster isn't how Julia will win. Maybe a push from an influent player/big tech might give it the momentum it needs.
Re: Julia 1.10
#74Out of curiosity, how's the state of DL for Julia. Can I use PyTorch or JAX comfortably in Julia?
There is https://github.com/rejuvyesh/PyCallChainRules.jl which makes this possible. But using some of the native Julia ML libraries that others have mentioned is preferable.
Re: Julia 1.10
#75I used Julia to build a macroeconomic model (DSGE-VAR) during my econ studies. I liked the conceptual decisions and the language per se (ie as a spec), but DX was quite bad: low discoverability of features and proper typings, clunky metaprogramming, long compilation times, impossibility of struct redefinitions in REPL. My interest died pretty fast because of it.
Not a fan of Python at all but now I just stick with that for my quant analysis. Tons of issues with Python too but atleast they are all known / well documented problems (also chatgpt knows pandas / matplotlib / python very well).
Re: Julia 1.10
#76Earlier quoted context omitted.
Mojo is vapourware from a private company (and we all know how those turn out re programming languages) until proven otherwise.
What other private company languages are there? Swift is the best example I can think of, which matches Mojo's situation down to the head of the project.
Re: Julia 1.10
#77I used Julia to build a macroeconomic model (DSGE-VAR) during my econ studies. I liked the conceptual decisions and the language per se (ie as a spec), but DX was quite bad: low discoverability of features and proper typings, clunky metaprogramming, long compilation times, impossibility of struct redefinitions in REPL. My interest died pretty fast because of it.
My experience was exactly the same. This is probably unfair, but I got the impression that the people who made Julia never actually.. used it? But of course that can't be true so maybe my work flow was just significantly different than theirs? Not a fan of Python at all but now I just stick with that for my quant analysis. Tons of issues with Python too but atleast they are all known / well documented problems (also…
It does take some asking around to discover the optimal Julia workflow with Revise.jl, PkgTemplates.jl, VSCode settings/debugger, Pluto.jl, but now it's probably my best development experience. Julia 1.10 improves much of this as well.
Re: Julia 1.10
#78Earlier quoted context omitted.
Mojo is vapourware from a private company (and we all know how those turn out re programming languages) until proven otherwise.
What other private company languages are there? Swift is the best example I can think of, which matches Mojo's situation down to the head of the project.
Re: Julia 1.10
#79Im not sure if Julia will ever take off. Right now there are huge investments in the AI space and Julia has no presence in those.
As much as it pains me to say it, I don't think Julia will. It looks to me like the practical problems with Julia, while addressable, are being addressed too slowly. There is simply too many rough edges and usability problems as it is now, and at the current pace it will take maybe 10 or 15 years to address them. On the other hand, the major use case for Julia is to have a fast, dynamic language. And it seems to me t…
Re: Julia 1.10
#80Earlier quoted context omitted.
What's wrong with JS/TS or Lua as a fast dynamic language?
Javascript doesn't compile to native code, so isn't as fast. I've never tried LuaJIT, though, that's supposed to be on par with Julia.