【发布时间】:2014-12-12 15:31:39
【问题描述】:
我正在尝试在 pybrain 中实现双向 LSTM 网络。谁有任何示例代码作为示例?
【问题讨论】:
标签: python machine-learning neural-network pybrain lstm
我正在尝试在 pybrain 中实现双向 LSTM 网络。谁有任何示例代码作为示例?
【问题讨论】:
标签: python machine-learning neural-network pybrain lstm
实际上,它已完美记录在测试代码中。 请参阅 github 上的here。
为序列构建一个双向网络(每个样本一个 值)长度为 20:
>>> n = BidirectionalNetwork(seqlen=20, inputsize=1, hiddensize=5, symmetric=False)它应该有 2x1x5 + 2x1x5 + 2x5x5 = 70 个权重
>>> n.paramdim 70现在让我们构建一个对称网络:
>>> n = BidirectionalNetwork(seqlen=12, inputsize=2, hiddensize=3, symmetric=True) >>> n.indim 24它应该有 1x2x3 + 1x1x3 + 1x3x3 = 18 个权重
>>> n.paramdim 18向前传球:
>>> from numpy import ones >>> r = n.activate(ones(24)) >>> len(r) 12结果应该是对称的(尽管权重是随机的)
>>> r[0]-r[-1] 0.0检查它的渐变:
>>> from pybrain.tests import gradientCheck >>> gradientCheck(n) Perfect gradient True
【讨论】: