Tensorflow: настроить ячейку LSTM с вычитающим стробированием - PullRequest
0 голосов
/ 30 июня 2019

Я хочу использовать вычитающее стробирование, которое объяснено в этой статье Я использую Tensorflow, и в настоящее время код: (с использованием ЦП)

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 голосов
/ 30 июня 2019

вау, вроде как продвинутый. Посмотрите как RNNCell.LSTMCell и напишите свой собственный с изменениями, которые вы хотите. Если вы посмотрите здесь https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/rnn/python/ops/rnn_cell.py, я предполагаю, что операция для ячеек определяется в вызове, например, начиная со строки 220, тогда найдите нужные операции.

...