Theano config directly in script

petrbel picture petrbel · Nov 29, 2015 · Viewed 9.9k times · Source

I'm new to Theano and I wonder how to configure the default setting directly from script (without setting envir. variables). E.g. this is a working solution (source):

$ THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python check1.py

I intend to come up with the identical solution that is executed by only:

$ python check1.py

and the additional parameters are set directly in the script itself. E.g. somehow like this:

import theano
theano.set('mode', 'FAST_RUN')
theano.set('device', 'gpu')
theano.set('floatX', 'float32')
# rest of the script

Is it even possible? I read the config page which provides the information that allows me to read the already set values (but not to set them by myself).

Answer

Daniel Renshaw picture Daniel Renshaw · Nov 30, 2015

When you do this:

$ THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python check1.py

All you're actually doing is setting an environment variable before running the Python script.

You can set environment variables in Python too. For example, the THEANO_FLAGS environment variable can be set inside Python like this:

import os
os.environ["THEANO_FLAGS"] = "mode=FAST_RUN,device=gpu,floatX=float32"

Note that some Theano config variables cannot be changed after importing Theano so this is fine:

import os
os.environ["THEANO_FLAGS"] = "mode=FAST_RUN,device=gpu,floatX=float32"
import theano

But this will not work as expected:

import theano
import os
os.environ["THEANO_FLAGS"] = "mode=FAST_RUN,device=gpu,floatX=float32"