0

I implemented a recursive autoencoder with Theano and tested it on both Linux and Windows. It tooks ~3 hours, 2.3G memory on Linux, while ~9 hours, 0.5G memory on Windows. config.allow_gc=True for both cases.

It could be a Python issue, as discussed in the thread: Why is python so much slower on windows?

Is there any specific setting in Theano that could slow things down on Windows as well?

Thanks,

Ya

Community
  • 1
  • 1
  • The differences in memory consumption could point to different numerical backend/number of threads settings. Although by default on linux it also only uses one thread. So not very conclusive. – eickenberg Aug 22 '14 at 16:54
  • Silly question, nearly everything is slower on Windows! It has a simple answer too, "windows sucks!". – samthebest Aug 23 '14 at 10:10

1 Answers1

1

It could be that they use different BLAS librairies. From memory, autoencoder bottleneck is the matrix product, that call BLAS. Different BLAS implementation can have up to 10x speed difference.

So check if you used the same BLAS. I would recommand to install python via EPD/Canopy or Anaconda python packages. There not free version link to a good blas and Theano reuse it. The now free version is free for academic.

nouiz
  • 5,071
  • 25
  • 21