Есть ли способ масштабировать вектор в пользовательской функции / слое потерь в tensorflow по группам?

#python #tensorflow #keras #deep-learning #neural-network

Вопрос:

Я создал простую нейронную сеть в Tensorflow, которая принимает в качестве входных данных набор данных панели, содержащий столбец идентификатора и столбец даты. Например.:

ID Дата var1 var2
азбука 01-01-2001 90 120
азбука 01-02-2001 80 130
CDF 01-01-20001 90 100
CDF 01-02-2001 70 90

Выход нейронной сети представляет собой вектор прогнозирования, который я оцениваю с помощью пользовательской функции потерь. Я хочу масштабировать конечный результат перед оценкой по группе (дате), чтобы значения в каждой дате равнялись единице. Нравится:

 by_group: x / sum(x)  

Я знаю функцию Tensorflow unsorted_segment_sum, но вывод уменьшает вектор до размера числа уникальных групп, в то время как я хочу сохранить размеры вектора. Существует ли функция tensorflow или способ реализовать ее в пользовательском слое или в функции потерь?

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

1. Не могли бы вы, пожалуйста, показать, как вы пытались использовать unsorted_segment_sum фиктивные данные?