Skip to content
This repository has been archived by the owner on Mar 31, 2019. It is now read-only.

The great book of crutches

justheuristic edited this page May 28, 2016 · 2 revisions

This page will (hopefully) maintain a list of controversial architecture solutions ("crutches") accepted into AgentNet because reasons.

The main purpose of this place is to determine whence these crutches are no longer of use and replace them.

####Lasagne layer extensions

We use DictLayer as an arguably consistent extension of Lasagne Layer that can now return arbitrary key-value outputs.

Required for:

  • Recurrence
  • Environment step layer
  • GateLayer

We also use output_dtype property whenever layer requires non-floatX output dtype (e.g. action id).

####Total unroll

We unroll all Recurrence scans by default to avoid updating SharedRandomStreams manually when compiling recurrence outputs. This results in significant compilation time increase and 20~30% speedup (unroll is faster) as a side-effect.

Required for:

  • not passing scan updates at each compilation.
Clone this wiki locally