我在TF 1.1.0上使用了几个时间序列作为LSTM模型(回归时输出1)的特征(3个输入特征)。主要功能开始了如下会话:
model = SKCompat(learn.Estimator(model_fn=lstm_model,
model_dir=LOG_DIR,
params={'learning_rate': Learning_rate}))
model.fit(trainX, trainY, steps=steps)
和lstm_model函数主要如下:
lstm_cell = tf.contrib.rnn.LSTMCell(hidden, state_is_tuple=True)
lstm_cell = tf.contrib.rnn.DropoutWrapper(cell=lstm_cell, output_keep_prob=0.1)
(output, state) = tf.nn.dynamic_rnn(cell=lstm_cell, inputs=features, dtype=tf.float32)
训练并保存模型(由默认的tf函数本身自动保存)后,我可以通过' import_meta_graph'来读取LSTM单元格的权重。并且恢复'在主要功能。权重看起来像(131,512)数组。
问题是如何从这样的权重数组中知道每个要素的权重,即每个要素对输出的权重?
顺便说一句,如果你使用默认的tf功能,我可以在训练时保存自定义模型吗?怎么做?非常感谢。
答案 0 :(得分:0)
我认为权重[131,512]可以这样解释:
由于128个隐藏层,3个功能