我正在考虑更改hnn包以支持网络中每个节点的不同激活功能.
特别是,这一行和这一行使用特定的功能(激活),但我试图扩展它以支持以下内容:
evalNet n@(Network{..}) inputs activations = do
s <- foldM (\x -> computeStepM n x (activations!!N)) state inputsV
Run Code Online (Sandbox Code Playgroud)
其中N是节点ID /索引.
目前我处于一个阶段,我的激活功能列表与网络中的节点数量相同.
我需要帮助(因为我迷失在包源代码中)以找到Nth activations从列表中应用函数的方法.
编辑:我尝试StateT使用tick(从文档)和使用zip函数的方法,每个步骤都给出多次执行,所以最终的结果变得错误
小智 3
对于地图,您可能需要类似的东西
as = [(+1),(*2),(+(-3))]
xs = [4,5,6]
main = print $ zipWith ($) as xs
Run Code Online (Sandbox Code Playgroud)
折叠更复杂,但可以使用相同的想法来完成:使用相应的激活函数压缩输入并更改函数折叠以使用传入元组的值。
但是,我怀疑您是否真的需要/想要更改折叠方式。如果我没有记错的话,折叠应该只传递激活函数列表。所以其实没什么可做的。
| 归档时间: |
|
| 查看次数: |
385 次 |
| 最近记录: |