automl / neps

Neural Pipeline Search (NePS): Helps deep learning experts find the best neural pipeline.
https://automl.github.io/neps/
Apache License 2.0
39 stars 11 forks source link

optim(graph): Minor optimizations to examples using graph parameters #95

Closed eddiebergman closed 1 month ago

eddiebergman commented 1 month ago

Further work to decrease the time it takes to run all tests.

Running the full suite now takes ~3 minutes, down from the original ~9 minutes before the optimizations from #94. Running just pytest now only takes 25 seconds, which excludes the examples we run on ci.

Main bottlencks for the ci are really just the construction of nx.Graphs and graph kernels which I don't think I will spend time towards. The neps_logger tutorial is also one of the slowest tests by far since it trains an actual model, downloading MNIST to do so.

Might be better to replace this with some fake data and a simple 1 linear network, although I suppose the images are required for the tutorial. I think we can just live with this being on CI.


Also did some work on CI to cut out the constant re-installing of packages. Will use pyproject.toml as an identity to whether it should re-use a previous environment. Damn you pytorch installs being so long...

Screenshot_2024-05-11_23-51-57 Screenshot_2024-05-11_23-51-27

One issue however is that apparently that cache sizes for the linux poetry venvs are close to ~2GB, while for MAC and Windows it seems to be about ~300MB. My guess this is something to do with Torch but no idea how to fix this.