PyBrain-피드 포워드 네트워크 작업
피드 포워드 네트워크는 노드 사이의 정보가 앞으로 이동하고 뒤로 이동하지 않는 신경망입니다. Feed Forward 네트워크는 인공 신경망에서 사용할 수있는 네트워크 중 최초이자 가장 간단한 네트워크입니다. 정보는 입력 노드에서 숨겨진 노드 옆, 나중에 출력 노드로 전달됩니다.
이 장에서 우리는 어떻게-
- 피드 포워드 네트워크 생성
- FFN에 연결 및 모듈 추가
피드 포워드 네트워크 생성
원하는 Python IDE, 즉 PyCharm을 사용할 수 있습니다. 여기서는 Visual Studio Code를 사용하여 코드를 작성하고 터미널에서 동일한 작업을 실행합니다.
피드 포워드 네트워크를 만들려면 다음에서 가져와야합니다. pybrain.structure 아래와 같이-
ffn.py
from pybrain.structure import FeedForwardNetwork
network = FeedForwardNetwork()
print(network)
아래와 같이 ffn.py를 실행하십시오-
C:\pybrain\pybrain\src>python ffn.py
FeedForwardNetwork-0
Modules:
[]
Connections:
[]
피드 포워드 네트워크에 모듈과 연결을 추가하지 않았습니다. 따라서 네트워크는 모듈 및 연결에 대해 빈 배열을 표시합니다.
모듈 및 연결 추가
먼저 입력, 숨김, 출력 레이어를 만들고 아래와 같이 모듈에 동일한 레이어를 추가합니다.
ffy.py
from pybrain.structure import FeedForwardNetwork
from pybrain.structure import LinearLayer, SigmoidLayer
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)
print(network)
산출
C:\pybrain\pybrain\src>python ffn.py
FeedForwardNetwork-3
Modules:
[]
Connections:
[]
우리는 여전히 모듈과 연결을 비워두고 있습니다. 아래와 같이 생성 된 모듈에 대한 연결을 제공해야합니다.
다음은 입력, 숨김 및 출력 레이어 간의 연결을 생성하고 네트워크에 연결을 추가 한 코드입니다.
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)
print(network)
산출
C:\pybrain\pybrain\src>python ffn.py
FeedForwardNetwork-3
Modules:
[]
Connections:
[]
우리는 여전히 모듈과 연결을 얻을 수 없습니다. 이제 마지막 단계를 추가하겠습니다. 즉, 아래와 같이 sortModules () 메서드를 추가해야합니다.
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'gt;, <SigmoidLayer 'SigmoidLayer-7'>,
<LinearLayer 'LinearLayer-8'>]
Connections:
[<FullConnection 'FullConnection-4': 'SigmoidLayer-7' -> 'LinearLayer-8'>,
<FullConnection 'FullConnection-5': 'LinearLayer-3' -> 'SigmoidLayer-7'>]
이제 feedforwardnetwork에 대한 모듈 및 연결 세부 사항을 볼 수 있습니다.