PyBrain - API & Alat
Sekarang kami tahu cara membangun jaringan dan melatihnya. Pada bab ini, kita akan memahami cara membuat dan menyimpan jaringan, dan menggunakan jaringan kapan pun diperlukan.
Simpan dan Pulihkan Jaringan
Kami akan menggunakan NetworkWriter dan NetworkReader dari alat Pybrain, yaitu pybrain.tools.customxml.
Berikut adalah contoh kerja yang sama -
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')
Jaringan disimpan di dalam network.xml.
NetworkWriter.writeToFile(net, 'network.xml')
Untuk membaca xml bila diperlukan kita dapat menggunakan kode sebagai berikut -
net = NetworkReader.readFrom('network.xml')
Berikut adalah file network.xml yang dibuat -
<?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
Di bawah ini adalah daftar API yang telah kami gunakan sepanjang tutorial ini.
Untuk Jaringan
activate(input)- Dibutuhkan parameter, yaitu nilai yang akan diuji. Ini akan mengembalikan hasil berdasarkan masukan yang diberikan.
activateOnDataset(dataset) - Ini akan mengulangi dataset yang diberikan dan mengembalikan output.
addConnection(c) - Menambahkan koneksi ke jaringan.
addInputModule(m) - Menambahkan modul yang diberikan ke jaringan dan menandainya sebagai modul masukan.
addModule(m) - Menambahkan modul yang diberikan ke jaringan.
addOutputModule(m) - Menambahkan modul ke jaringan dan menandainya sebagai modul keluaran.
reset() - Mengatur ulang modul dan jaringan.
sortModules()- Ini mempersiapkan jaringan untuk aktivasi dengan menyortir secara internal. Itu harus dipanggil sebelum aktivasi.
Untuk Kumpulan Data yang Diawasi
addSample(inp, target) - Menambahkan sampel input dan target baru.
splitWithProportion(proportion=0.5) - Membagi dataset menjadi dua bagian, bagian pertama berisi data bagian proporsi dan set berikutnya berisi data bagian yang tersisa.
Untuk Pelatih
trainUntilConvergence(dataset=None, maxEpochs=None, verbose=None, continueEpochs=10, validationProportion=0.25)- Digunakan untuk melatih modul pada dataset hingga konvergen. Jika set data tidak diberikan, ia akan mencoba melatih set data terlatih yang digunakan di awal.