'Get representations at all layers.
Returns:
A dictionary with the name of the layer as the key and its state as as the
value.'

def GetAllRepresentations(self, numbatches, validation=True):

    if validation:
        datagetter = self.GetValidationBatch
    else:
        datagetter = self.GetTestBatch
    rep_list = []
    names = []
    for node in self.node_list:
        rep_list.append(np.zeros(((numbatches * node.state.shape[1]), node.state.shape[0]), dtype='float32'))
        names.append(node.name)
    for batch in range(numbatches):
        datagetter()
        self.PositivePhase(train=False, evaluate=False)
        for (i, node) in enumerate(self.node_list):
            rep_list[i][(batch * node.batchsize):((batch + 1) * node.batchsize), :] = node.state.asarray().T
    return dict(zip(names, rep_list))
