Я хочу создать k-разреженный CAE, в котором я сохраню только k карт с наивысшими характеристиками для каждого изображения в последнем изображении кодера. Поэтому мне нужно выяснить, какие каналы являются самыми высокими.
Мой текущий подход заключался в использовании tf.nn.top_k(f_maps_mean, k_real)
, где f_maps - это уменьшенное среднее значение всех каналов: tf.reduce_mean(inp_tensor, [1, 2])
. k_real - это просто округленное значение k процентов * количества карт объектов.
Впоследствии я хотел обрезать тензор по этим индексам или по маске bool, но я не мог приписать размер пакета этой операции.
Если кто-то знает более прямой подход, я тоже был бы признателен за это.