- 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 类,如下所示:
rn.py
from pybrain.structure import RecurrentNetwork recurrentn = RecurrentNetwork() print(recurrentn)
python rn.py
C:\pybrain\pybrain\src>python rn.py RecurrentNetwork-0 Modules: [] Connections: [] Recurrent Connections: []
我们可以看到针对循环网络的新连接,称为循环连接。现在没有可用数据。
现在,让我们创建层并将其添加到模块并创建连接。
添加模块和连接
我们将创建层,即输入、隐藏和输出。这些层将被添加到输入和输出模块。接下来,我们将创建用于输入到隐藏、隐藏到输出的连接,以及用于隐藏到隐藏的循环连接。
以下是具有模块和连接的循环网络的代码。
rn.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)
python 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'>]
在上面的输出中,我们可以看到模块、连接和循环连接。
现在,让我们使用激活方法(如以下所示)来激活网络:
rn.py
将以下代码添加到之前创建的代码:
#activate network using activate() method act1 = recurrentn.activate((2, 2)) print(act1) act2 = recurrentn.activate((2, 2)) print(act2)
python rn.py
C:\pybrain\pybrain\src>python rn.py [-1.24317586] [-0.54117783]
广告