Configuration¶
Blocks allows module-wide configuration values to be set using a YAML configuration file and environment variables. Environment variables override the configuration file which in its turn overrides the defaults.
The configuration is read from ~/.blocksrc if it exists. A custom
configuration file can be used by setting the BLOCKS_CONFIG environment
variable. A configuration file is of the form:
data_path: /home/user/datasets
If a setting is not configured and does not provide a default, a
ConfigurationError is raised when it is
accessed.
Configuration values can be accessed as attributes of
blocks.config.config.
>>> from blocks.config import config
>>> print(config.default_seed)
1
The following configurations are supported:
-
default_seed¶ The seed used when initializing random number generators (RNGs) such as NumPy
RandomStateobjects as well as Theano’sMRG_RandomStreamsobjects. Must be an integer. By default this is set to 1.
-
recursion_limit¶ The recursion max depth limit used in
MainLoopas well as in other situations when deep recursion is required. The most notable example of such a situation is pickling or unpickling a complex structure with lots of objects, such as a big Theano computation graph.
-
profile,BLOCKS_PROFILE¶ A boolean value which determines whether to print profiling information at the end of a call to
MainLoop.run().
-
log_backend¶ The backend to use for logging experiments. Defaults to python, which stores the log as a Python object in memory. The other option is sqlite.
-
sqlite_database,BLOCKS_SQLITEDB¶ The SQLite database file to use.
-
max_blob_size¶ The maximum size of an object to store in an SQLite database in bytes. Objects beyond this size will trigger a warning. Defaults to 4 kilobyte.
-
temp_dir,BLOCKS_TEMPDIR¶ The directory in which Blocks will create temporary files. If unspecified, the platform-dependent default chosen by the Python
tempfilemodule is used.