2016-02-17 5 views
2

Я хочу, чтобы данные таймсеров поступали по мере поступления - шаг за шагом, чтобы постепенно наращивать rnn (после нескольких начальных шагов).Инкрементальные непрерывные таймеры с использованием TensorFlow RNN

В настоящее время rnn() принимает значение encoder_input и decoder_input как полную последовательность.

def rnn_seq2seq(encoder_inputs, decoder_inputs, cell, initial_state=None,output_projection=None,feed_previous=False, dtype=tf.float32, scope=None): 
    with tf.variable_scope(scope or "rnn_seq2seq"): 
    _, enc_states = rnn.rnn(cell, encoder_inputs, initial_state=initial_state, dtype=dtype) 

    def extract_argmax(prev, i): 
     with tf.device('/gpu:0'): 
      prev = tf.nn.softmax(tf.nn.xw_plus_b(prev, output_projection[0], output_projection[1])) 
     return prev 

    loop_function = None 
    if feed_previous: 
     loop_function = extract_argmax 

    print enc_states[-1] 
    return seq2seq.rnn_decoder(decoder_inputs, enc_states[-1], cell, loop_function=loop_function) 

feedP = tf.placeholder(dtype=tf.bool) 
with tf.variable_scope("mylstm"): 
    output,state = rnn_seq2seq(enc_inputs,dec_inputs,cell,output_projection=output_projection,feed_previous=feedP) 

Можно ли кормить decoder_input один шаг за один раз, а не всей последовательности, потому что, как данные будут поступать в режиме реального времени?

ответ

0

Отъезд Scikit Flow. В примерную папку входит множество примеров, связанных с RNN, и есть встроенные оценки RNN, которые вы можете просто подключить к существующему коду.

Оцените этот метод fit() в оценках, и вы найдете partial_fit(), что позволяет проводить непрерывную подготовку, соответствующую вашим потребностям. Многие из примеров используют это для продолжения обучения в цикле while и сохранения контрольной точки с течением времени (вы также можете настроить частоту).

Надеюсь, это поможет.

+0

partial_fit просто вызывает функцию fit() без добавления какого-либо значения. Как это вообще поможет? вам нужно будет указать модель для RNN в skflow. как бы выглядела модель в этом случае? –

+0

Это на самом деле то же самое, что и подходит, так как подгонка реализована таким образом, что принимает итератор или может принимать по одному образцу за раз. Это просто лучший API для пользователей. Примеры могут помочь вам приступить к работе, например. seq2seq, RNN/LSTM и т. д. Надеюсь, это поможет. –

Смежные вопросы