-
Notifications
You must be signed in to change notification settings - Fork 252
mkl increasing slug size significantly #21
Comments
Recommend it. remove mkl in the default setting. |
Running into slug size problems: ``` remote: -----> Compressing... remote: ! Compiled slug size: 321.9M is too large (max is 300M). ``` Seems mkl is causing this. https://github.com/kennethreitz/conda-buildpack/issues/21 Current discussion says to use 'nomkl'
Running into slug size problems: ``` remote: -----> Compressing... remote: ! Compiled slug size: 321.9M is too large (max is 300M). ``` Seems mkl is causing this. https://github.com/kennethreitz/conda-buildpack/issues/21 Current discussion says to use 'nomkl' Reduced slug size from 321.9M (over the 300M) to 182.5M
I agree with this. It took me a long while trying to work out how to reduce my slug size, as the lowest I could get it was down to 310MB. adding nomkl instantly dropped to it 166MB. It would be great to either have this as the default or featured in the readme to increase visibility of this. |
👍 Adding |
+1, this project is borderline unusable on Heroku without this. Thanks for the hard work as this buildpack is a pleasure other than the slug size issues! |
Putting
still leads to
Am I missing something? |
@evdoks For some reason this broke for me recently as well, perhaps due to a regression in Conda or a change in the way dependencies are handled. The workaround I finally stumbled on was to pass the This means, unfortunately that you'll need to fork/edit this buildpack (which I was already doing to make it work well with my multi-buildpack setup). The line you need to change in question is in It previously was:
and should be changed to:
|
@dtran320 Thanks! Having |
That's a great workaround. The transition from |
Instead of forking and adding My
That allowed me to use this conda buildpack and let the solver find the dependencies, circumventing having to specify lower level packages like numpy, scipy, etc. |
@jake17007 Ah, using |
Hmm, did everyone's workarounds just break? For some reason, my buildpack went back to The following packages will be downloaded:
package | build
---------------------------|-----------------
mkl-11.3.3 | 0 122.1 MB
openblas-0.2.19 | 0 3.0 MB
numpy-1.11.2 | py27_0 6.2 MB
scipy-0.18.1 | np111py27_0 30.9 MB
scikit-learn-0.18.1 | np111py27_0 10.9 MB
------------------------------------------------------------
Total: 173.1 MB
The following NEW packages will be INSTALLED:
mkl: 11.3.3-0
The following packages will be UPDATED:
numpy: 1.11.2-py27_nomkl_0 [nomkl] --> 1.11.2-py27_0
openblas: 0.2.14-4 --> 0.2.19-0
scikit-learn: 0.18.1-np111py27_nomkl_0 [nomkl] --> 0.18.1-np111py27_0
scipy: 0.18.1-np111py27_nomkl_0 [nomkl] --> 0.18.1-np111py27_0 |
In my experience, we have to do following steps.
Below is my repository that succeeded to deploy to Heroku recently. icoxfog417/machine_learning_in_application And my patched buildpack is below(It supports Python3 also). |
Since the upgrade described here (Feb 5 2016): https://www.continuum.io/blog/developer-blog/anaconda-25-release-now-mkl-optimizations, conda is defaulting to the mkl optimized numpy and scipy, which require the ~120 MB mkl package. This can easily bump the slug size over 300 MB. It's simple to work around this by specifying "nomkl" in conda-requirements.txt, but perhaps that should be the default for this buildpack.
The text was updated successfully, but these errors were encountered: