Question: I am going through the following blog on LSTM neural network:
<http://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/> 

The author reshapes the input vector X as [samples, time steps, features] for different configuration of LSTMs.

The author writes

> 
> Indeed, the sequences of letters are time steps of one feature rather than one time step of separate features. We have given more context to the network, but not more sequence as it expected
> 
> 
> 

What does this mean?

Answer: 
I found this just below the [samples, time\_steps, features] you are concerned with. 

```
X = numpy.reshape(dataX, (len(dataX), seq_length, 1))

```

**Samples** - This is the len(dataX), or the amount of data points you have.

**Time steps** - This is equivalent to the amount of time steps you run your recurrent neural network. If you want your network to have memory of 60 characters, this number should be 60.

**Features** - this is the amount of features in every time step. If you are processing pictures, this is the amount of pixels. In this case you seem to have 1 feature per time step.
It's a bit too late but just in case;  

A **Sample** may refer to individual training examples. A “batch\_size” variable is hence the count of samples you sent to the neural network. That is, how many different examples you feed at once to the neural network.

**TimeSteps** are ticks of time. It is how long in time each of your samples is. For example, a sample can contain 128-time steps, where each time steps could be a 30th of a second for signal processing. In Natural Language Processing (NLP), a time step may be associated with a character, a word, or a sentence, depending on the setup.

**Features** are simply the number of dimensions we feed at each time steps. For example in NLP, a word could be represented by 300 features using word2vec. In the case of signal processing, let’s pretend that your signal is 3D. That is, you have an X, a Y and a Z signal, such as an accelerometer’s measurements on each axis. This means you would have 3 features sent at each time step for each sample.  

By [Guillaume](https://www.quora.com/What-do-samples-features-time-steps-mean-in-LSTM)