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.
My answer with an example: ["hello this is xyz","how are you doing","great man..."]

in this case "[samples, time steps, features]" means:

* **sample:** 3 because there are 3 elements in the list
* **time steps:** here you can take max\_length = 4 
length("hello this is xyz") = 4; length("how are you doing") = 4; length("great 
man...") = 2 (after removing punctuation "."). The reason of saying this is a time 
steps is, in first element "hello this is xyz" ==> t0("hello"), t1("this"), t2("is") 
and t3("xyz")
* **features:** the size of embedding for each words. e.g, "hello": 50D array, "this": 
50D array and so on