- PyBrain 教程
- PyBrain - 首頁
- PyBrain - 概述
- PyBrain - 環境設定
- PyBrain - PyBrain Networks 簡介
- PyBrain - 使用網路
- PyBrain - 使用資料集
- PyBrain - 資料集型別
- PyBrain - 為資料集匯入資料
- PyBrain - 在網路上訓練資料集
- PyBrain - 測試網路
- 使用前饋網路
- PyBrain - 使用迴圈網路
- 使用最佳化演算法訓練網路
- PyBrain - 層
- PyBrain - 連線
- PyBrain - 強化學習模組
- PyBrain - API 和工具
- PyBrain - 範例
- PyBrain 有用資源
- PyBrain - 快速指南
- PyBrain - 有用資源
- PyBrain - 討論
PyBrain - 連線
連線的工作方式類似於層;唯一的區別是它將資料從網路中的一個節點轉移到另一個節點。
在本章中,我們將學習關於 −
- 瞭解連線
- 建立連線
瞭解連線
以下是建立網路時使用的連線工作範例。
範例
ffy.py
from pybrain.structure import FeedForwardNetwork from pybrain.structure import LinearLayer, SigmoidLayer from pybrain.structure import FullConnection network = FeedForwardNetwork() #creating layer for input => 2 , hidden=> 3 and output=>1 inputLayer = LinearLayer(2) hiddenLayer = SigmoidLayer(3) outputLayer = LinearLayer(1) #adding the layer to feedforward network network.addInputModule(inputLayer) network.addModule(hiddenLayer) network.addOutputModule(outputLayer) #Create connection between input ,hidden and output input_to_hidden = FullConnection(inputLayer, hiddenLayer) hidden_to_output = FullConnection(hiddenLayer, outputLayer) #add connection to the network network.addConnection(input_to_hidden) network.addConnection(hidden_to_output) network.sortModules() print(network)
輸出
C:\pybrain\pybrain\src>python ffn.py FeedForwardNetwork-6 Modules: [<LinearLayer 'LinearLayer-3'>, <SigmoidLayer 'SigmoidLayer-7'>, <LinearLayer 'LinearLayer-8'>] Connections: [<FullConnection 'FullConnection-4': 'SigmoidLayer-7' -> 'LinearLayer-8'>, <FullConnection 'FullConnection-5': 'LinearLayer-3' -> 'SigmoidLayer-7'>]
建立連線
在 Pybrain 中,我們可以使用連線模組建立連線,如下所示 −
範例
connect.py
from pybrain.structure.connections.connection import Connection
class YourConnection(Connection):
def __init__(self, *args, **kwargs):
Connection.__init__(self, *args, **kwargs)
def _forwardImplementation(self, inbuf, outbuf):
outbuf += inbuf
def _backwardImplementation(self, outerr, inerr, inbuf):
inerr += outer
要建立連線,有 2 種方法 — _forwardImplementation() 和 _backwardImplementation()。
_forwardImplementation() 使用傳入模組的輸出緩衝區呼叫,即 inbuf,以及稱為 outbuf 的傳出模組的輸入緩衝區。將 inbuf 新增到傳出模組 outbuf。
_backwardImplementation() 使用 outerr、inerr 和 inbuf 呼叫。傳出模組錯誤會在 _backwardImplementation() 中新增到傳入模組錯誤。
現在讓我們在網路中使用 YourConnection。
testconnection.py
from pybrain.structure import FeedForwardNetwork from pybrain.structure import LinearLayer, SigmoidLayer from connect import YourConnection network = FeedForwardNetwork() #creating layer for input => 2 , hidden=> 3 and output=>1 inputLayer = LinearLayer(2) hiddenLayer = SigmoidLayer(3) outputLayer = LinearLayer(1) #adding the layer to feedforward network network.addInputModule(inputLayer) network.addModule(hiddenLayer) network.addOutputModule(outputLayer) #Create connection between input ,hidden and output input_to_hidden = YourConnection(inputLayer, hiddenLayer) hidden_to_output = YourConnection(hiddenLayer, outputLayer) #add connection to the network network.addConnection(input_to_hidden) network.addConnection(hidden_to_output) network.sortModules() print(network)
輸出
C:\pybrain\pybrain\src>python testconnection.py FeedForwardNetwork-6 Modules: [<LinearLayer 'LinearLayer-3'>, <SigmoidLayer 'SigmoidLayer-7'>, <LinearLayer 'LinearLayer-8'>] Connections: [<YourConnection 'YourConnection-4': 'LinearLayer-3' -> 'SigmoidLayer-7'>, <YourConnection 'YourConnection-5': 'SigmoidLayer-7' -> 'LinearLayer-8'>]
廣告