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)*-データセット上でモジュールが収束するまでトレーニングするために使用されます。 データセットが指定されていない場合、開始時に使用されたトレーニング済みデータセットでトレーニングを試みます。