Last active
March 28, 2022 16:53
-
-
Save soumith/01da3874bf014d8a8c53406c2b95d56b to your computer and use it in GitHub Desktop.
Install PillowSIMD+libjpeg-turbo on Conda
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
conda uninstall --force pillow -y | |
# install libjpeg-turbo to $HOME/turbojpeg | |
git clone https://github.com/libjpeg-turbo/libjpeg-turbo | |
pushd libjpeg-turbo | |
mkdir build | |
cd build | |
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$HOME/turbojpeg | |
make | |
make install | |
popd | |
# install pillow-simd with jpeg-turbo support | |
git clone https://github.com/uploadcare/pillow-simd | |
pushd pillow-simd | |
CPATH=$HOME/turbojpeg/include LIBRARY_PATH=$HOME/turbojpeg/lib CC="cc -mavx2" python setup.py install | |
# add turbojpeg to LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH="$HOME/turbojpeg/lib:$LD_LIBRARY_PATH" |
Thanks for the gist soumith
I wouldnt uninstall any packages - just create a fresh conda, the minute that you start uninstalling stuff youll break everything.
a quick note. for libjpeg-turbo you need an asm compiler
sudo apt-get install nasm
I also had to install zlib:
sudo apt install zlib1g-dev
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@ivankreso, you probably want to reinstall
libtiff
after buildingpillow-simd
, otherwise you may have some broken conda packages, since you removed their dependency. and whilelibjpeg-turbo
replacesjpeg
, the latter will still be re-installed by conda on the next update of any package relying onjpeg
. So just as well, append to your suggestion:Thanks to your input, I built a more complete version with quite a lot of prose explaining which is which here: https://docs.fast.ai/performance.html#faster-image-processing