microsoft / qlib

Qlib is an AI-oriented quantitative investment platform that aims to realize the potential, empower research, and create value using AI technologies in quantitative investment, from exploring ideas to implementing productions. Qlib supports diverse machine learning modeling paradigms. including supervised learning, market dynamics modeling, and RL.
https://qlib.readthedocs.io/en/latest/
MIT License
15.17k stars 2.6k forks source link

Would you introduce about library of mlflow? #185

Closed zhostev closed 3 years ago

zhostev commented 3 years ago

❓ Questions and Help

What is the function of this library?#MLFLOW this is just a machinelearning frame,when i run one of benchmrks ,but it cound't it.

you-n-g commented 3 years ago

We implemented an experiments management interface Qlib Recorder. mlflow is one of the storage backend. So users will interact with R instead of mlflow directly.

zhostev commented 3 years ago

Thanks for your response ,so i feel mlflow which is too heavy? import it ,Is it necessary?

you-n-g commented 3 years ago

Yes, mlflow is a little heavy. So we decouple it from qlib.

If mlflow becomes a problem for user, user could implement interfaces like this

zhostev commented 3 years ago

ok,i will waiting for your decouple .

you-n-g commented 3 years ago

We've alreadly decoupled mlflow alreadly. Currently, mlflow is the only backend storage.

walter211 commented 3 years ago

Could you guys provide a mlflow tutorial, how to run qlib on mlflow, I dig this into few days, hard to get hands on.

Derek-Wds commented 3 years ago

Hi @walter211 , is there anything specific bothering you using Qlib right now? I wonder if you could give us more details about what are the problems so that we could help with you.

In fact, mlflow works as one of the storage backends for Qlib recorder, which is the experiment management system of Qlib (link). We provide some basic interfaces for users to use, and users don't need to worry about how Mlflow works specifically in the system.

walter211 commented 3 years ago

I want to submit Qlib training on to Mlflow……

Derek-Wds commented 3 years ago

Hi @walter211 , I'm not sure if I understanding what you are trying to do correctly. But, mlflow works one of the implementations of Qlib recorder, once you following the model with the example code and the Qlib recorder module R we provided, mlflow will be used AUTOMATICALLY (related experiment results will be saved) and you don't need to do other things about it.

However, if you want to use Qlib recorder with a remote mlflow server (a.k.a you want to save your experiments results remotely), you may want to refer to these documents: qlib init (exp_manager) and mlflow server.

Otherwise, if you do not specify where you want to store the experiments results, Qlib will store the results locally by default.

If you want to visualize the experiment results, you can use the command mlflow ui (link).

walter211 commented 3 years ago

Hi @walter211 , I'm not sure if I understanding what you are trying to do correctly. But, mlflow works one of the implementations of Qlib recorder, once you following the model with the example code and the Qlib recorder module R we provided, mlflow will be used AUTOMATICALLY (related experiment results will be saved) and you don't need to do other things about it.

However, if you want to use Qlib recorder with a remote mlflow server (a.k.a you want to save your experiments results remotely), you may want to refer to these documents: qlib init (exp_manager) and mlflow server.

Otherwise, if you do not specify where you want to store the experiments results, Qlib will store the results locally by default.

If you want to visualize the experiment results, you can use the command mlflow ui (link).

yeah, that's it, thx bro!

you-n-g commented 3 years ago

@walter211
Can you give us any hints about why current docs make you confused? We will appreciate it very much If you can give us some advices or create a PR to improve the docs,

Thanks

D-X-Y commented 3 years ago

We've alreadly decoupled mlflow alreadly. Currently, mlflow is the only backend storage.

It seems that Qlib still use "import mlflow" under "workflow", and the installation and running rely on mlflow, thus it does mean decoupling?

you-n-g commented 3 years ago

We decoupling mlflow from qlib on the interface level. We can implement different backends. mlflow is the default backend. So we import it in the code now.

D-X-Y commented 3 years ago

Gotcha, thanks

github-actions[bot] commented 3 years ago

This issue is stale because it has been open for three months with no activity. Remove the stale label or comment on the issue otherwise this will be closed in 5 days

zhostev commented 2 years ago

hi,recently,I hope use qilib with mlops ,so mlflow became so important. but ,i struct it with minio server ,not nfs. so how i to change nfs to minio server for save mlruns?

you-n-g commented 2 years ago

@vinsvison mlflow has a lot of backend storage choices. You can refer to mlflow's documents https://mlflow.org/docs/latest/tracking.html#artifact-stores