top k по последнему измерению тензора a (batch, 13, 13, 3, 1) в tensorflow

#python #tensorflow

#python #tensorflow

Вопрос:

Форма тензора имеет вид (batch_size, 13, 13, 3, 1) , где последнее измерение является показателем объектности. Как сохранить только оценки объектности top_k, не путаясь с тензором (делая все равным нулю в последнем измерении, если оно не находится в top-k).

Спасибо

Комментарии:

1. Что вы уже пробовали? Пожалуйста, укажите некоторые из ваших попыток, даже если они не увенчались успехом.

2. Итак tf.reduce_max(array, reduction_indices=-1) и нарезка?

Ответ №1:

Вы можете использовать tf.math.top_k

 tf.math.top_k(tensor, k= top_k_value)
  

Чтобы присвоить всему в последнем измерении значение 0, вы можете рассмотреть возможность использования следующего:

 tf.mul(tensor, tf.constant([0]))
  

В последнем случае все элементы вашего тензора будут равны 0