- PyBrain 教程
- PyBrain - 主页
- PyBrain - 概述
- PyBrain - 环境设置
- PyBrain - PyBrain 网络简介
- PyBrain - 使用网络
- PyBrain - 使用数据集
- PyBrain - 数据集类型
- PyBrain - 导入数据集的数据
- PyBrain - 网络训练数据集
- PyBrain - 测试网络
- 使用前馈网络
- PyBrain - 使用循环网络
- 使用优化算法训练网络
- PyBrain - 层
- PyBrain - 连接
- PyBrain - 强化学习模块
- PyBrain - API 和工具
- PyBrain - 示例
- PyBrain 有用资源
- PyBrain - 快速指南
- PyBrain - 有用的资源
- PyBrain - 讨论
PyBrain - 使用循环网络
循环网络与前馈网络相同,唯一的区别是您需要记住每一步的数据。每一步的历史记录都必须保存。
我们将学习如何 -
- 创建循环网络
- 添加模块和连接
创建循环网络
为了创建循环网络,我们将使用 RecurrentNetwork 类,如下所示 -
py
from pybrain.structure import RecurrentNetwork recurrentn = RecurrentNetwork() print(recurrentn)
蟒蛇 rn.py
C:\pybrain\pybrain\src>python rn.py RecurrentNetwork-0 Modules: [] Connections: [] Recurrent Connections: []
我们可以看到循环网络有一个名为“循环连接”的新连接。目前没有可用数据。
现在让我们创建层并添加到模块并创建连接。
添加模块和连接
我们将创建层,即输入层、隐藏层和输出层。这些层将被添加到输入和输出模块。接下来,我们将创建输入到隐藏、隐藏到输出的连接以及隐藏到隐藏之间的循环连接。
这是带有模块和连接的循环网络的代码。
py
from pybrain.structure import RecurrentNetwork from pybrain.structure import LinearLayer, SigmoidLayer from pybrain.structure import FullConnection recurrentn = RecurrentNetwork() #creating layer for input => 2 , hidden=> 3 and output=>1 inputLayer = LinearLayer(2, 'rn_in') hiddenLayer = SigmoidLayer(3, 'rn_hidden') outputLayer = LinearLayer(1, 'rn_output') #adding the layer to feedforward network recurrentn.addInputModule(inputLayer) recurrentn.addModule(hiddenLayer) recurrentn.addOutputModule(outputLayer) #Create connection between input ,hidden and output input_to_hidden = FullConnection(inputLayer, hiddenLayer) hidden_to_output = FullConnection(hiddenLayer, outputLayer) hidden_to_hidden = FullConnection(hiddenLayer, hiddenLayer) #add connection to the network recurrentn.addConnection(input_to_hidden) recurrentn.addConnection(hidden_to_output) recurrentn.addRecurrentConnection(hidden_to_hidden) recurrentn.sortModules() print(recurrentn)
蟒蛇 rn.py
C:\pybrain\pybrain\src>python rn.py RecurrentNetwork-6 Modules: [<LinearLayer 'rn_in'>, <SigmoidLayer 'rn_hidden'>, <LinearLayer 'rn_output'>] Connections: [<FullConnection 'FullConnection-4': 'rn_hidden' -> 'rn_output'>, <FullConnection 'FullConnection-5': 'rn_in' -> 'rn_hidden'>] Recurrent Connections: [<FullConnection 'FullConnection-3': 'rn_hidden' -> 'rn_hidden'>]
在上面的输出中,我们可以看到模块、连接和循环连接。
现在让我们使用 activate 方法激活网络,如下所示 -
py
将以下代码添加到之前创建的代码中 -
#activate network using activate() method act1 = recurrentn.activate((2, 2)) print(act1) act2 = recurrentn.activate((2, 2)) print(act2)
蟒蛇 rn.py
C:\pybrain\pybrain\src>python rn.py [-1.24317586] [-0.54117783]