## Neural Network Simulink Block Library

The Neural Network Toolbox™ product provides a set of blocks
you can use to build neural networks using Simulink^{®} software,
or that the function `gensim`

can use to generate
the Simulink version of any network you have created using MATLAB^{®} software.

Open the Neural Network Toolbox block library with the command:

This opens a library window that contains five blocks. Each
of these blocks contains additional blocks.

### Transfer Function Blocks

Double-click the Transfer Functions block in the Neural library
window to open a window containing several transfer function blocks.

Each of these blocks takes a net input vector and generates
a corresponding output vector whose dimensions are the same as the
input vector.

### Net Input Blocks

Double-click the Net Input Functions block in the Neural library
window to open a window containing two net-input function blocks.

Each of these blocks takes any number of weighted input vectors,
weight layer output vectors, and bias vectors, and returns a net-input
vector.

### Weight Blocks

Double-click the Weight Functions block in the Neural library
window to open a window containing three weight function blocks.

Each of these blocks takes a neuron's weight vector and
applies it to an input vector (or a layer output vector) to get a
weighted input value for a neuron.

It is important to note that these blocks expect the neuron's
weight vector to be defined as a column vector. This is because Simulink signals
can be column vectors, but cannot be matrices or row vectors.

It is also important to note that because of this limitation
you have to create *S* weight function blocks (one
for each row), to implement a weight matrix going to a layer with *S* neurons.

This contrasts with the other two kinds of blocks. Only one
net input function and one transfer function block are required for
each layer.

### Processing Blocks

Double-click the Processing Functions block in the Neural library
window to open a window containing processing blocks and their corresponding
reverse-processing blocks.

Each of these blocks can be used to preprocess inputs and postprocess
outputs.