rodrigo-arenas / Sklearn-genetic-opt

ML hyperparameters tuning and features selection, using evolutionary algorithms.
https://sklearn-genetic-opt.readthedocs.io
MIT License
289 stars 73 forks source link

Mlflow test #47

Closed Turtle24 closed 3 years ago

Turtle24 commented 3 years ago

I used the default mlruns file store and I created a test to ensure the mlruns folder is removed. I tried to cover all the tests you requested. If there's anything I should change, just give me a shout.

I'm trying to get a docker container running with the mlflow server and a backend. I do think it's going to take a bit of time to figure out though because I'm not too clued up with docker. So hopefully these tests are ok for now.

codecov[bot] commented 3 years ago

Codecov Report

Merging #47 (953be42) into master (1e8a861) will increase coverage by 4.47%. The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##           master       #47      +/-   ##
===========================================
+ Coverage   95.52%   100.00%   +4.47%     
===========================================
  Files          18        18              
  Lines         581       611      +30     
===========================================
+ Hits          555       611      +56     
+ Misses         26         0      -26     
Impacted Files Coverage Δ
sklearn_genetic/algorithms.py 100.00% <0.00%> (ø)
sklearn_genetic/callbacks/loggers.py 100.00% <0.00%> (ø)
sklearn_genetic/genetic_search.py 100.00% <0.00%> (+0.62%) :arrow_up:
sklearn_genetic/mlflow.py 100.00% <0.00%> (+100.00%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 1e8a861...953be42. Read the comment docs.

rodrigo-arenas commented 3 years ago

Ey, this is looking good! 🚀 As you mentioned, probably the way to go is using docker, to avoid unexpected writes/deletes on local file systems, this is a breakthrough so I'll merge it, but if you agree, I'll leave the issue #30 open for now with a note.

I have some experience with docker, so this is what I can tell:

Thanks again!

Turtle24 commented 3 years ago

Ok awesome, I've done a bit of the ground work so you can definitely leave it open. I'm trying to use testcontainers to run a container for the tests. I need to fix the setup and your demo looks like it'll be a lot of help, thanks! With the testcontainers I think we could just spin it up for the MLflow integration like this. So if I'm not mistaken that'll help with the last point?

It's a pleasure 💪🏽 I've been hunting for something to contribute to so I should be thanking you 😄

rodrigo-arenas commented 3 years ago

That looks interesting, I didn't know that package, it's worth to give it a try; it could help with the last point if the package itself has support for python 3.7+, Windows, Linux an MacOS, or the pip install would make the test fail

Awesome, I'm glad you got interested in this project, hope to keep seeing you around! 👍🏼