Я смотрю на изменение пакета hnn для поддержки различных функций активации для каждого node в сети.
В частности, эта строка и эта строка использует определенную функцию (активацию), но я пытаюсь чтобы расширить это, чтобы поддержать что-то вроде:
evalNet [email protected](Network{..}) inputs activations = do
s <- foldM (\x -> computeStepM n x (activations!!N)) state inputsV
где N
- id/index node.
В настоящее время я являюсь этапом, когда у меня есть список функций активации той же длины, что и количество узлов в сети.
Мне нужна помощь (поскольку я потерян в исходном коде пакета), чтобы найти способ применения функции Nth
activations
в списке.
EDIT: я пробовал подход StateT
, используя tick
(из документации) и используя zip
функцию, обе дают несколько исполнений за каждый шаг, поэтому окончательный результат становится неправильным