Pybrain-api-tools
提供:Dev Guides
PyBrain-APIとツール
これで、ネットワークを構築してトレーニングする方法がわかりました。 この章では、ネットワークを作成して保存し、必要に応じてネットワークを使用する方法を理解します。
ネットワークの保存と回復
PybrainツールのNetworkWriterとNetworkReader、つまりpybrain.tools.customxmlを使用します。
ここに同じの実例があります-
from pybrain.tools.shortcuts import buildNetwork
from pybrain.tools.customxml import NetworkWriter
from pybrain.tools.customxml import NetworkReader
net = buildNetwork(2,1,1)
NetworkWriter.writeToFile(net, 'network.xml')
net = NetworkReader.readFrom('network.xml')
ネットワークはnetwork.xml内に保存されます。
NetworkWriter.writeToFile(net, 'network.xml')
必要に応じてXMLを読み取るには、次のコードを使用できます-
net = NetworkReader.readFrom('network.xml')
ここに作成されたnetwork.xmlファイルがあります-
<?xml version="1.0" ?>
<PyBrain>
<Network class="pybrain.structure.networks.feedforward.FeedForwardNetwork" name="FeedForwardNetwork-8">
<name val="'FeedForwardNetwork-8'"/>
<Modules>
<LinearLayer class="pybrain.structure.modules.linearlayer.LinearLayer" inmodule="True" name="in">
<name val="'in'"/>
<dim val="2"/>
</LinearLayer>
<LinearLayer class="pybrain.structure.modules.linearlayer.LinearLayer" name="out" outmodule="True">
<name val="'out'"/>
<dim val="1"/>
</LinearLayer>
<BiasUnit class="pybrain.structure.modules.biasunit.BiasUnit" name="bias">
<name val="'bias'"/>
</BiasUnit>
<SigmoidLayer class="pybrain.structure.modules.sigmoidlayer.SigmoidLayer" name="hidden0">
<name val="'hidden0'"/>
<dim val="1"/>
</SigmoidLayer>
</Modules>
<Connections>
<FullConnection class="pybrain.structure.connections.full.FullConnection" name="FullConnection-6">
<inmod val="bias"/>
<outmod val="out"/>
<Parameters>[1.2441093186965146]</Parameters>
</FullConnection>
<FullConnection class="pybrain.structure.connections.full.FullConnection" name="FullConnection-7">
<inmod val="bias"/>
<outmod val="hidden0"/>
<Parameters>[-1.5743530012126412]</Parameters>
</FullConnection>
<FullConnection class="pybrain.structure.connections.full.FullConnection" name="FullConnection-4">
<inmod val="in"/>
<outmod val="hidden0"/>
<Parameters>[-0.9429546042034236, -0.09858196752687162]</Parameters>
</FullConnection>
<FullConnection class="pybrain.structure.connections.full.FullConnection" name="FullConnection-5">
<inmod val="hidden0"/>
<outmod val="out"/>
<Parameters>[-0.29205472354634304]</Parameters>
</FullConnection>
</Connections>
</Network>
</PyBrain>
API
以下は、このチュートリアル全体で使用したAPIのリストです。
ネットワーク向け
- * activate(input)*-パラメータ、つまりテストする値を受け取ります。 指定された入力に基づいて結果を返します。
- * activateOnDataset(dataset)*-指定されたデータセットを反復処理し、出力を返します。
- * addConnection(c)*-ネットワークへの接続を追加します。
- * addInputModule(m)*-ネットワークに与えられたモジュールを追加し、入力モジュールとしてマークします。
- * addModule(m)*-指定されたモジュールをネットワークに追加します。
- * addOutputModule(m)*-ネットワークにモジュールを追加し、出力モジュールとしてマークします。
- * reset()*-モジュールとネットワークをリセットします。
- * sortModules()*-内部でソートすることにより、アクティベーションのためにネットワークを準備します。 アクティベーションの前に呼び出す必要があります。
監視対象データセットの場合
- * addSample(inp、target)*-入力とターゲットの新しいサンプルを追加します。
- * splitWithProportion(proportion = 0.5)*-データセットを2つの部分に分割します。最初の部分には比例部分のデータが含まれ、次のセットには残りの部分が含まれます。
トレーナー向け
- trainUntilConvergence(dataset = None、maxEpochs = None、verbose = None、continueEpochs = 10、validationProportion = 0.25)*-データセット上でモジュールが収束するまでトレーニングするために使用されます。 データセットが指定されていない場合、開始時に使用されたトレーニング済みデータセットでトレーニングを試みます。