Python Tensorflow:理解LSTM模型的层结构
我是tensorflow和LSTM的新手,在理解网络的形状和结构(权重、偏差、输入和日志的形状)时遇到了一些困难 在这段特定的代码中Python Tensorflow:理解LSTM模型的层结构,python,tensorflow,machine-learning,lstm,rnn,Python,Tensorflow,Machine Learning,Lstm,Rnn,我是tensorflow和LSTM的新手,在理解网络的形状和结构(权重、偏差、输入和日志的形状)时遇到了一些困难 在这段特定的代码中 有人能解释一下为什么我们需要将x转换成这种特定的格式(转置->重塑->分割) 为什么权重定义为[rnn_大小,n_类]而偏差定义为[n_类] 正在形成的网络的确切结构是什么,权重是如何连接的,我不能正确理解这一点 是否有任何网站或参考资料,我可以阅读,这将有帮助 谢谢。对于一般的网络结构,LSTM是RNN网络的扩展。有关RNN网络结构的说明,请参阅 对于实际的LS
谢谢。对于一般的网络结构,LSTM是RNN网络的扩展。有关RNN网络结构的说明,请参阅 对于实际的LSTM 这些都不是很正式,但它们应该比学术论文更容易阅读和理解 一旦你读了这些,剩下的就不难了。X变换的原因是因为这是静态\u rnn所期望的格式。rnn_大小是LSTM单元的大小,这就是为什么权重是这样形成的
def recurrent_neural_network(x):
layer = {'weights':tf.Variable(tf.random_normal([rnn_size,n_classes])),
'biases':tf.Variable(tf.random_normal([n_classes]))}
x = tf.transpose(x, [1,0,2])
x = tf.reshape(x, [-1, chunk_size])
x = tf.split(x, n_chunks, 0)
lstm_cell = rnn_cell.BasicLSTMCell(rnn_size,state_is_tuple=True)
outputs, states = rnn.static_rnn(lstm_cell, x, dtype=tf.float32)
output = tf.matmul(outputs[-1],layer['weights']) + layer['biases'])
return output