Is this LSTM layer learning anything? I've trained a CNN-LSTM model but the results weren't satisfactory, so I took a look at my weight distributions and this is what I got:

I don't understand. Is this layer learning anything? Or no?
Update: I've also tried LeakyReLU activation and also removed l2 regularization and this is what I got:

So I guess my layer isn't learning or does take more epochs to train LSTM layers? The gradients are not vanishing because the CNN layer before this is changing.
What may be more informative in terms of whether it is learning or not, is to track gradients.
Through gradients you will be able to understand better whether activations are receiving error terms to adjust weights accordingly or not. In the latter case, this would be characteristic of vanishing gradients problem.
You are developing with tf.keras, in which case you can add to your tensorboard callback:
tf.keras.callbacks.TensorBoard(write_grads=True)
Additional experiments may include:

trying shorter length sequences and compare grad flow
try replacing tanh with alternative activation functions in the LSTM layers of your model tf.keras.LSTM(activation=tf.keras.layers.LeakyReLu()) (see tanh saddle points problem)


(graph borrowed from d2l)