2017-02-02 6 views
2

Я следил за учебником TensorFlow RNN, чтобы создать модель LSTM. Однако в процессе я смутился относительно разницы, если таковые имеются, между «партиями» и «метками времени», и я был бы признателен за помощь в разъяснении этого вопроса.LSTM Batches vs Timesteps

Учебник код (см ниже), по существу, создает на основе обозначенного количества шагов «партии»:

with tf.variable_scope("RNN"): 
     for time_step in range(num_steps): 
     if time_step > 0: tf.get_variable_scope().reuse_variables() 
     (cell_output, state) = cell(inputs[:, time_step, :], state) 
     outputs.append(cell_output) 

Однако следующий, кажется, делает то же самое:

for epoch in range(5): 
     print('----- Epoch', epoch, '-----') 
     total_loss = 0 
     for i in range(inputs_cnt // BATCH_SIZE): 
      inputs_batch = train_inputs[i * BATCH_SIZE: (i + 1) * BATCH_SIZE] 
      orders_batch = train_orders[i * BATCH_SIZE: (i + 1) * BATCH_SIZE] 
      feed_dict = {story: inputs_batch, order: orders_batch} 

      logits, xent, loss = sess.run([...], feed_dict=feed_dict) 

ответ

1

Предполагая, что вы работают с текстом, BATCH_SIZE будет числом предложений, которые вы обрабатываете параллельно, а num_steps - максимальное количество слов в любом предложении. Это разные размеры вашего ввода в LSTM.

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

  • Нет связанных вопросов^_^