JuliaAI / MLFlowClient.jl

Julia client for MLFlow.
https://juliaai.github.io/MLFlowClient.jl/
MIT License
42 stars 8 forks source link

Potential for collaboration? #5

Closed rejuvyesh closed 1 month ago

rejuvyesh commented 2 years ago

https://github.com/rejuvyesh/MLFlowLogger.jl might be of interest.

deyandyankov commented 2 years ago

hi @rejuvyesh - of course! I was aware of MLFlowLogger but I figured having a stab at the REST API was worth it as per https://github.com/rejuvyesh/MLFlowLogger.jl/issues/3 -- was planning on commenting on that issue once MLFlowClient is registered in General. Developers of MLJ also consider integrating with MLFlow at some point, hence the reason why MLFlowClient is part of the JuliaAI organisation. My particular needs had to do with being able to store runs and then be able to query their results, thus #3 -- have you got any ideas for further development? I like MLFlowLogger's integration with Base.CoreLogging - do you think we can merge the functionality from the two packages somehow?

rejuvyesh commented 2 years ago

I see two ways of going about:

  1. MLFlowClient.jl as the Julia client and implementing the mlflow's Python equivalent API here in Julia. MLFlowLogger.jl can then depend on it (and remove the python dependency) to just be the integration with Julia's Logging machinery.
  2. I deprecate/archive MLFlowLogger.jl and copy over the logging functionality here.

I am personally okay with either of these scenarios. Personally figuring out authentication and remote file operations etc. is important and am happy to help out in any way. We could also create a PyMLFlowClient.jl which follows a similar interface as here but simply uses the python lib underneath and the users can choose depending on their usecase.

deyandyankov commented 2 years ago

I think it's better to start with 1) - will you be able to make the necessary changes there so that it is stripped to logging machinery and uses MLFlowClient for experiments/runs/params/metrics/artifacts? I can add any missing functionality to MLFlowClient if it is required but also feel free to submit a PR if you think that would be easier for your workflow. I expect that MLFlowClient will be added to General tomorrow or the day after.

mertbozkir commented 2 years ago

@deyandyankov I'm super interested in MLFlow Julia integration. I will apply for GSoC 2022 - "Tracking and sharing MLJ workflows using MLFlow" project. 😇

After this summer, I want to see the Julia language logo here (MLFlow Integrations) 💥 image

deyandyankov commented 2 years ago

this is great @mertbozkir ! I'm happy to support you with the mlflow part, and I'm sure Anthony and Diego will be able to cover MLJ.