📜  PyBrain-API和工具

📅  最后修改于: 2020-12-10 05:18:52             🧑  作者: Mango


现在我们知道了如何建立网络并对其进行培训。在本章中,我们将了解如何创建和保存网络,以及在需要时使用网络。

保存和恢复网络

我们将使用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文件-



   
      
      
         
            
            
         
         
         
            
            
         
         
         
            
         
         
         
            
            
         
      
      
      
         
            
            
            [1.2441093186965146]
         
         
         
            
            
            [-1.5743530012126412]
         
         
         
            
            
            [-0.9429546042034236, -0.09858196752687162]
         
         
         
            
            
            [-0.29205472354634304]
         
      
      
   

API

以下是我们在本教程中一直使用的API列表。

对于网络

  • activate(input) -接受参数,即要测试的值。它将根据给定的输入返回结果。

  • activateOnDataset(dataset) -它将遍历给定的数据集并返回输出。

  • addConnection(c) -将连接添加到网络。

  • addInputModule(m) -添加给网络的模块并将其标记为输入模块。

  • addModule(m) -将给定的模块添加到网络。

  • addOutputModule(m) -将模块添加到网络并将其标记为输出模块。

  • reset() -重置模块和网络。

  • sortModules() -它通过内部排序为激活准备网络。必须在激活之前调用它。

对于监督数据集

  • addSample(inp,target) -添加输入和目标的新样本。

  • splitWithProportion(proportion = 0.5) -将数据集分为两部分,第一部分包含比例部分数据,第二部分包含其余部分。

对于培训师

trainUntilConvergence(数据集=无,maxEpochs =无,冗长=无,continueEpochs = 10,validationProportion = 0.25) -用于训练数据集中的模块直至收敛。如果未提供数据集,它将尝试在开始时使用经过训练的数据集进行训练。