Реализация лучевого поиска для нетекстовых задач в тензорном потоке

Скажем, у меня есть ячейка РНН, обученная с помощью dynamic_rnn:

rnn_cell = tf.contrib.rnn.BasicLSTMCell(num_units)

# input_tensor: [batch_size, max_time, feature_size], each element of the last dimension is an sample
# rnn outputs: [batch_size, max_time, num_units]
# final_state: [batch_size, num_units]
rnn_outputs, final_state = tf.nn.dynamic_rnn(
        rnn_cell, input_tensor, dtype=tf.float32, 
        sequence_length=seq_length, time_major=False)

logits = tf.layers.dense(
        final_state.h, 2, 
        activation=None, 
        use_bias=True, 
        name='logits') # batch_size * 2

loss = tf.reduce_mean(
    tf.losses.sparse_softmax_cross_entropy(
        logits=logits, # batch_size * 2
        labels=labels))

# consider prob of class '1' as a score
score = tf.nn.softmax(logits)[:,1]

Теперь, учитывая input_tensor для прогнозирования, я хочу выполнить поиск луча, чтобы найти лучший ранг входных выборок, чтобы максимально увеличить общую оценку ранжированных выборок.

0 ответов

Другие вопросы по тегам