Tensorflow:使用减法门控定制LSTM单元

时间:2019-06-30 16:34:11

标签: python tensorflow machine-learning neural-network lstm

我想使用减法门控,this paper中对此进行了说明 我正在使用Tensorflow,当前代码为:(使用CPU)

import tensorflow.contrib.rnn as RNNCell 

tgt_cell = RNNCell.LSTMCell(num_units=flags.hidden_size, state_is_tuple=True)
tgt_dropout_cell = RNNCell.DropoutWrapper(tgt_cell, output_keep_prob=self.keep_prob)
tgt_stacked_cell= RNNCell.MultiRNNCell([tgt_dropout_cell] * self.opt.num_layers, state_is_tuple=True)

根据本文的更改如下: LSTM在哪里:

enter image description here

门应该是减法而不是乘法:

enter image description here

当我在代码中单击“ LSTMCell”时,它会打开rnn_cells.py,但我不确定应该更改哪个部分。有人可以帮忙进行更改吗?

1 个答案:

答案 0 :(得分:0)

哇那有点高级。看起来像RNNCell.LSTMCell并编写您想要的更改。如果您看这里https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/rnn/python/ops/rnn_cell.py,我猜想像在电话中那样定义单元格的操作,就像从第220行开始一样,然后找到您需要的操作。