aimhubio / aim

Aim 💫 — An easy-to-use & supercharged open-source experiment tracker.
https://aimstack.io
Apache License 2.0
5.04k stars 313 forks source link

Using Aim from Julia? #2258

Open kir0ul opened 1 year ago

kir0ul commented 1 year ago

🚀 Feature

Would it be possible to use Aim from Julia?

Motivation

I'm starting to get lost in tracking my ML experiments in Julia and would really benefit from having a dedicated software to help me.

Pitch

I guess one would have to create an Aim.jl wrapper.

Alternatives

DrWatson, but features are a lot more limited.

gorarakelyan commented 1 year ago

@kir0ul thanks for submitting this issue!

Yes, probably the fastest way would be implementing a Julia wrapper. I just came across PyCall package which enables running python commands from Julia. @tmynn could you please take a look at this?

tamohannes commented 1 year ago

Hey @kir0ul, great suggestion! I will take it over in the coming week. Also will keep you in the loop, as I believe your experience with Julia will be a huge help in figuring out the right integration design and experience 🙌

tamohannes commented 1 year ago

Hey @kir0ul, honestly speaking I am not familiar with the programming language Julia. However I have just found out that there is a way to import any Python package from a Julia script. I have just tested the following script and it seems to be behave as expected:

using Pkg
Pkg.add("PyCall")
using PyCall
@pyimport aim
run = aim.Run(experiment="julia_test")

Note: If you get an error on the import line set the python path as follows after which rebuild the env:

ENV["PYTHON"] = "THE_PATH"
Pkg.build("PyCall")

I believe one can use this approach for a quick start. What do you think?

kir0ul commented 1 year ago

Hey @tmynn, I'm still a beginner with Julia, but as far as I can tell by having a quick look at other Julia wrappers, it looks like it is what other people are doing to wrap Python code from Julia, see for example TensorFlow.jl or Seaborn.jl.