'Splits an input tensor into a list of tensors (features).
Args:
net: A feature map of shape [batch_size, num_features, feature_size].
Raises:
AssertionError: if num_features is less than seq_length.
Returns:
A list with seq_length tensors of shape [batch_size, feature_size]'

def _create_lstm_inputs(self, net):

    num_features = net.get_shape().dims[1].value
    if (num_features < self._params.seq_length):
        raise AssertionError(('Incorrect    dimension    #1    of    input    tensor    %d    should    be    bigger    than    %d    (shape=%s)' % (num_features, self._params.seq_length, net.get_shape())))
    elif (num_features > self._params.seq_length):
        logging.warning('Ignoring    some    features:    use    %d    of    %d    (shape=%s)', self._params.seq_length, num_features, net.get_shape())
        net = tf.slice(net, [0, 0, 0], [(-1), self._params.seq_length, (-1)])
    return tf.unstack(net, axis=1)
