Generate PyTorch-style NN bindings

This generates NN bindings with a similar interface to PyTorch's
torch.nn.functional package. The file nn.yaml specifies function
signatures and THNN implementations.

Each NN operation generates three functions. For example:

  - conv2d
  - conv2d_forward
  - conv2d_backward

The conv2d and conv2d_forward functions differ in how they handle
buffers that need to be passed to the backward function. conv2d_forward
takes the buffers as parameters. conv2d creates the buffers internally
and discards them.
6 files changed