Недавно я работал над кодовым воспроизведением для статьи «Назначение пилота и оценка канала через глубокую нейронную сеть». Однако я застрял в создании слоев Top_S и Xor, так как кажется, что разработанные мной пользовательские слои не поддерживают обратное распространение, я думаю.
Вот рамки в этой статье: введите описание изображения здесь
Слой Top_S выберет максимальные значения S из выхода softmax ,, и их соответствующие позиции будут установлены в 1, а остальные позиции будут установлены в 0. Затем мы можем получить двоичный вектор только со значениями состоит из 0 и 1.
Я пытался настроить свой собственный слой TopS и tf.keras.layers.Lambda (), но не смог. Вот мой код: введите здесь описание ссылки
Где First Attempt.py - это основная сеть, а Top_S Layer Test.py - моя попытка создать слой Top_S
* 1014. * Как я могу заставить сеть успешно тренироваться? Большое спасибо!