I wanted to try out Machine Learning with Python, so my first choice was Keras with Theano.
Got Theano installed from Git (to get the latest development version):
pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
Then, I needed to setup Theano with
OpenBLAS (otherwise, training Keras models was painfully slow).
Since I was on Windows, I had to look around for instructions on how to setup OpenBLAS properly.
Luckily, OpenBLAS provides binaries for Windows - both 32Bit and 64Bit - although, they may not be for the latest version of OpenBLAS.
Head over to
https://sourceforge.net/projects/openblas/files/ and see which release has the binaries already built for Windows. We need both
OpenBLAS and
MinGW binaries.
At the time of this writing the latest version of OpenBLAS was
v0.2.19, which unfortunately doesn't have the Windows binaries released.
But, going back a few releases, we find that the release
v0.2.15 includes the binaries -
OpenBLAS-v0.2.15-Win64-int32.zip and
mingw64_dll.zip.
Download both of the Zip files, and first extract the OpenBLAS Zip to a globally accessible location on your hard disk. (I would suggest a location such as C:\Dev_Tools\openblas\).
Then, extract the mingw Zip, and copy it's contents to the bin directory of your extracted OpenBLAS directory. e.g. If you extracted OpenBLAS to C:\Dev_Tools\openblas\, then copy the contents (3 DLL files) of mingw to C:\Dev_Tools\openblas\bin\.
i.e.: The extracted openblas\bin will have the
libopenblas.dll in it. When you extract mingw, it will have 3 more DLLs -
libgcc_s_seh-1.dll,
libgfortran-3.dll,
libquadmath-0.dll. Copy those to openblas\bin also.
Then, add the openblas\bin directory to your system path.
Finally, edit (or create) your
.theanorc file with the following settings: (assuming you extracted OpenBLAS to C:\Dev_Tools\openblas\)
Note: If you don't already have a .theanorc file, create a file named
.theanorc in the home directory of your user account, e.g. C:\Users\<your user>\.theanorc
[global]
floatX = float32
device = cpu
[blas]
ldflags=-LC:\Dev_Tools\openblas\bin -lopenblas
Now, run your Keras/Theano program and see whether Theano picks up OpenBLAS.
Related Links:
http://www.openblas.net/
Build Deeper: Deep Learning Beginners' Guide is the ultimate guide for anyone taking their first step into Deep Learning.
Get your copy now!