本文整理匯總了Python中pybrain.structure.networks.feedforward.FeedForwardNetwork.addConnection方法的典型用法代碼示例。如果您正苦於以下問題:Python FeedForwardNetwork.addConnection方法的具體用法?Python FeedForwardNetwork.addConnection怎麽用?Python FeedForwardNetwork.addConnection使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pybrain.structure.networks.feedforward.FeedForwardNetwork
的用法示例。
在下文中一共展示了FeedForwardNetwork.addConnection方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: main
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def main():
a = 0
for i in range(0,100):
inLayer = SigmoidLayer(2)
hiddenLayer = SigmoidLayer(3)
outLayer = SigmoidLayer(1)
net = FeedForwardNetwork()
net.addInputModule(inLayer)
net.addModule(hiddenLayer)
net.addOutputModule(outLayer)
in_to_hidden = FullConnection(inLayer,hiddenLayer)
hidden_to_out = FullConnection(hiddenLayer,outLayer)
net.addConnection(in_to_hidden)
net.addConnection(hidden_to_out)
net.sortModules()
ds = SupervisedDataSet(2,1)
ds.addSample((1,1), (0))
ds.addSample((1,0), (1))
ds.addSample((0,1), (1))
ds.addSample((0,0), (0))
trainer = BackpropTrainer(net,ds)
trainer.trainUntilConvergence()
out = net.activate((1,1))
if (out < 0.5):
a = a + 1
print(str(a) + "/100")
示例2: buildXor
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def buildXor(self):
self.params['dataset'] = 'XOR'
d = ClassificationDataSet(2)
d.addSample([0., 0.], [0.])
d.addSample([0., 1.], [1.])
d.addSample([1., 0.], [1.])
d.addSample([1., 1.], [0.])
d.setField('class', [[0.], [1.], [1.], [0.]])
self.trn_data = d
self.tst_data = d
global trn_data
trn_data = self.trn_data
nn = FeedForwardNetwork()
inLayer = TanhLayer(2, name='in')
hiddenLayer = TanhLayer(3, name='hidden0')
outLayer = ThresholdLayer(1, name='out')
nn.addInputModule(inLayer)
nn.addModule(hiddenLayer)
nn.addOutputModule(outLayer)
in_to_hidden = FullConnection(inLayer, hiddenLayer)
hidden_to_out = FullConnection(hiddenLayer, outLayer)
nn.addConnection(in_to_hidden)
nn.addConnection(hidden_to_out)
nn.sortModules()
nn.randomize()
self.net_settings = str(nn.connections)
self.nn = nn
示例3: custom_build_network
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def custom_build_network(layer_sizes):
net = FeedForwardNetwork()
layers = []
inp = SigmoidLayer(layer_sizes[0], name = 'visible')
h1 = SigmoidLayer(layer_sizes[1], name = 'hidden1')
h2 = SigmoidLayer(layer_sizes[2], name = 'hidden2')
out = SigmoidLayer(layer_sizes[3], name = 'out')
bias = BiasUnit(name = 'bias')
net.addInputModule(inp)
net.addModule(h1)
net.addModule(h2)
net.addOutputModule(out)
net.addModule(bias)
net.addConnection(FullConnection(inp, h1))
net.addConnection(FullConnection(h1, h2))
net.addConnection(FullConnection(h2, out))
net.addConnection(FullConnection(bias, h1))
net.addConnection(FullConnection(bias, h2))
net.addConnection(FullConnection(bias, out))
net.sortModules()
return net
示例4: buildSubsamplingNetwork
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def buildSubsamplingNetwork():
""" Builds a network with subsampling connections. """
n = FeedForwardNetwork()
n.addInputModule(LinearLayer(6, 'in'))
n.addOutputModule(LinearLayer(1, 'out'))
n.addConnection(SubsamplingConnection(n['in'], n['out'], inSliceTo=4))
n.addConnection(SubsamplingConnection(n['in'], n['out'], inSliceFrom=4))
n.sortModules()
return n
示例5: _buildNetwork
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def _buildNetwork(*layers, **options):
"""This is a helper function to create different kinds of networks.
`layers` is a list of tuples. Each tuple can contain an arbitrary number of
layers, each being connected to the next one with IdentityConnections. Due
to this, all layers have to have the same dimension. We call these tuples
'parts.'
Afterwards, the last layer of one tuple is connected to the first layer of
the following tuple by a FullConnection.
If the keyword argument bias is given, BiasUnits are added additionally with
every FullConnection.
Example:
_buildNetwork(
(LinearLayer(3),),
(SigmoidLayer(4), GaussianLayer(4)),
(SigmoidLayer(3),),
)
"""
bias = options['bias'] if 'bias' in options else False
use_random_seed = options['use_random_seed'] if 'use_random_seed' in options else False
net = FeedForwardNetwork()
layerParts = iter(layers)
firstPart = iter(next(layerParts))
firstLayer = next(firstPart)
net.addInputModule(firstLayer)
prevLayer = firstLayer
for part in chain(firstPart, layerParts):
new_part = True
for layer in part:
net.addModule(layer)
# Pick class depending on whether we entered a new part
if new_part:
ConnectionClass = FullConnection
if bias:
biasUnit = BiasUnit('BiasUnit for %s' % layer.name)
net.addModule(biasUnit)
net.addConnection(FullConnection(biasUnit, layer, use_random_seed=use_random_seed))
else:
ConnectionClass = IdentityConnection
new_part = False
conn = ConnectionClass(prevLayer, layer)
net.addConnection(conn)
prevLayer = layer
net.addOutputModule(layer)
net.sortModules()
return net
示例6: buildSlicedNetwork
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def buildSlicedNetwork():
""" build a network with shared connections. Two hiddne modules are symetrically linked, but to a different
input neuron than the output neuron. The weights are random. """
N = FeedForwardNetwork('sliced')
a = LinearLayer(2, name = 'a')
b = LinearLayer(2, name = 'b')
N.addInputModule(a)
N.addOutputModule(b)
N.addConnection(FullConnection(a, b, inSliceTo=1, outSliceFrom=1))
N.addConnection(FullConnection(a, b, inSliceFrom=1, outSliceTo=1))
N.sortModules()
return N
示例7: __init__
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
class PyBrainANNs:
def __init__(self, x_dim, y_dim, hidden_size, s_id):
self.serialize_id = s_id
self.net = FeedForwardNetwork()
in_layer = LinearLayer(x_dim)
hidden_layer = SigmoidLayer(hidden_size)
out_layer = LinearLayer(y_dim)
self.net.addInputModule(in_layer)
self.net.addModule(hidden_layer)
self.net.addOutputModule(out_layer)
in_to_hidden = FullConnection(in_layer, hidden_layer)
hidden_to_out = FullConnection(hidden_layer, out_layer)
self.net.addConnection(in_to_hidden)
self.net.addConnection(hidden_to_out)
self.net.sortModules()
def _prepare_dataset(self, x_data, y_data):
assert x_data.shape[0] == y_data.shape[0]
if len(y_data.shape) == 1:
y_matrix = np.matrix(y_data).T
else:
y_matrix = y_data.values
assert x_data.shape[1] == self.net.indim
assert y_matrix.shape[1] == self.net.outdim
data_set = SupervisedDataSet(self.net.indim, self.net.outdim)
data_set.setField("input", x_data)
data_set.setField("target", y_matrix)
return data_set
def train(self, x_data, y_data):
trainer = BackpropTrainer(self.net, self._prepare_dataset(x_data, y_data))
trainer.train()
def score(self, x_data, y_datas):
return ModuleValidator.validate(regression_score, self.net, self._prepare_dataset(x_data, y_datas))
def predict(self, x_data):
return np.array([self.net.activate(sample) for sample in x_data])
def save(self, path):
joblib.dump(self.net, path)
def load(self, path):
self.net = joblib.load(path)
示例8: createNN
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def createNN():
nn = FeedForwardNetwork()
inLayer = TanhLayer(4, name='in')
hiddenLayer = TanhLayer(6, name='hidden0')
outLayer = ThresholdLayer(3)
nn.addInputModule(inLayer)
nn.addModule(hiddenLayer)
nn.addOutputModule(outLayer)
in_to_hidden = FullConnection(inLayer, hiddenLayer)
hidden_to_out = FullConnection(hiddenLayer, outLayer)
nn.addConnection(in_to_hidden)
nn.addConnection(hidden_to_out)
nn.sortModules()
return nn
示例9: buildSharedCrossedNetwork
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def buildSharedCrossedNetwork():
""" build a network with shared connections. Two hidden modules are
symmetrically linked, but to a different input neuron than the
output neuron. The weights are random. """
N = FeedForwardNetwork('shared-crossed')
h = 1
a = LinearLayer(2, name = 'a')
b = LinearLayer(h, name = 'b')
c = LinearLayer(h, name = 'c')
d = LinearLayer(2, name = 'd')
N.addInputModule(a)
N.addModule(b)
N.addModule(c)
N.addOutputModule(d)
m1 = MotherConnection(h)
m1.params[:] = scipy.array((1,))
m2 = MotherConnection(h)
m2.params[:] = scipy.array((2,))
N.addConnection(SharedFullConnection(m1, a, b, inSliceTo = 1))
N.addConnection(SharedFullConnection(m1, a, c, inSliceFrom = 1))
N.addConnection(SharedFullConnection(m2, b, d, outSliceFrom = 1))
N.addConnection(SharedFullConnection(m2, c, d, outSliceTo = 1))
N.sortModules()
return N
示例10: buildIris
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def buildIris(self):
self.params['dataset'] = 'iris'
self.trn_data, self.tst_data = pybrainData(0.5)
global trn_data
trn_data = self.trn_data
nn = FeedForwardNetwork()
inLayer = TanhLayer(4, name='in')
hiddenLayer = TanhLayer(6, name='hidden0')
outLayer = ThresholdLayer(3, name='out')
nn.addInputModule(inLayer)
nn.addModule(hiddenLayer)
nn.addOutputModule(outLayer)
in_to_hidden = FullConnection(inLayer, hiddenLayer)
hidden_to_out = FullConnection(hiddenLayer, outLayer)
nn.addConnection(in_to_hidden)
nn.addConnection(hidden_to_out)
nn.sortModules()
nn.randomize()
self.net_settings = str(nn.connections)
self.nn = nn
示例11: __init__
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def __init__(self, states, verbose=False, max_epochs=None):
'''Create a NeuralNetwork instance.
`states` is a tuple of tuples of ints, representing the discovered subnetworks'
entrez ids.
'''
self.verbose = verbose
self.max_epochs = max_epochs
self.num_features = sum(map(lambda tup: len(tup), states))
self.states = states
n = FeedForwardNetwork()
n.addOutputModule(TanhLayer(1, name='out'))
n.addModule(BiasUnit(name='bias out'))
n.addConnection(FullConnection(n['bias out'], n['out']))
for i, state in enumerate(states):
dim = len(state)
n.addInputModule(TanhLayer(dim, name='input %s' % i))
n.addModule(BiasUnit(name='bias input %s' % i))
n.addConnection(FullConnection(n['bias input %s' % i], n['input %s' % i]))
n.addConnection(FullConnection(n['input %s' % i], n['out']))
n.sortModules()
self.n = n
示例12: buildParity
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
def buildParity(self):
self.params['dataset'] = 'parity'
self.trn_data = ParityDataSet(nsamples=75)
self.trn_data.setField('class', self.trn_data['target'])
self.tst_data = ParityDataSet(nsamples=75)
global trn_data
trn_data = self.trn_data
nn = FeedForwardNetwork()
inLayer = TanhLayer(4, name='in')
hiddenLayer = TanhLayer(6, name='hidden0')
outLayer = ThresholdLayer(1, name='out')
nn.addInputModule(inLayer)
nn.addModule(hiddenLayer)
nn.addOutputModule(outLayer)
in_to_hidden = FullConnection(inLayer, hiddenLayer)
hidden_to_out = FullConnection(hiddenLayer, outLayer)
nn.addConnection(in_to_hidden)
nn.addConnection(hidden_to_out)
nn.sortModules()
nn.randomize()
self.net_settings = str(nn.connections)
self.nn = nn
示例13: FeedForwardNetwork
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
from pybrain.tools.xml.networkwriter import NetworkWriter
dim = 381
n = FeedForwardNetwork()
inLayer = LinearLayer(dim)
hiddenLayer = SigmoidLayer(100)
outLayer = LinearLayer(1)
n.addInputModule(inLayer)
n.addModule(hiddenLayer)
n.addOutputModule(outLayer)
in_to_hidden = FullConnection(inLayer,hiddenLayer)
hidden_to_out = FullConnection(hiddenLayer,outLayer)
n.addConnection(in_to_hidden)
n.addConnection(hidden_to_out)
n.sortModules()
print 'build set'
alldata = ClassificationDataSet(dim, 1, nb_classes=2)
(data,label,items) = BinReader.readData(ur'F:\AliRecommendHomeworkData\1212新版\train15_17.expand.samp.norm.bin')
#(train,label,data) = BinReader.readData(r'C:\data\small\norm\train1217.bin')
for i in range(len(data)):
alldata.addSample(data[i],label[i])
tstdata, trndata = alldata.splitWithProportion(0.25)
示例14: _build_network
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
#.........這裏部分代碼省略.........
h1_full_height = h1_image_height * CONVOLUTION_MULTIPLIER
h1 = SigmoidLayer(h1_full_width * h1_full_height)
h2_width = h1_full_width / 2
h2_height = h1_full_height / 2
h2 = LinearLayer(h2_width * h2_height)
h3_image_width = h2_width / CONVOLUTION_MULTIPLIER / NUMBER_OF_IMAGES - SECOND_CONVOLUTION_FILTER + 1
h3_image_height = h2_height / CONVOLUTION_MULTIPLIER - SECOND_CONVOLUTION_FILTER + 1
h3_full_width = h3_image_width * (CONVOLUTION_MULTIPLIER * 2) * NUMBER_OF_IMAGES
h3_full_height = h3_image_height * (CONVOLUTION_MULTIPLIER * 2)
h3 = SigmoidLayer(h3_full_width * h3_full_height)
h4_full_width = h3_image_width - MERGE_FILTER
h4_full_height = h3_image_height - MERGE_FILTER
h4 = SigmoidLayer(h4_full_width * h4_full_height)
logger.info("BASE IMG: %d x %d" % (IMG_WIDTH, IMG_HEIGHT))
logger.info("First layer IMG: %d x %d" % (h1_image_width, h1_image_height))
logger.info("First layer FULL: %d x %d" % (h1_full_width, h1_full_height))
logger.info("Second layer FULL: %d x %d" % (h2_width, h2_height))
logger.info("Third layer IMG: %d x %d" % (h3_image_width, h3_image_height))
logger.info("Third layer FULL: %d x %d" % (h3_full_width, h3_full_height))
logger.info("Forth layer FULL: %d x %d" % (h3_image_width, h3_image_height))
outp = SoftmaxLayer(2)
h5 = SigmoidLayer(h4_full_width * h4_full_height)
# add modules
net.addOutputModule(outp)
net.addInputModule(inp)
net.addModule(h1)
net.addModule(h2)
net.addModule(h3)
net.addModule(h4)
net.addModule(h5)
# create connections
for i in range(NUMBER_OF_IMAGES):
_add_convolutional_connection(
net=net,
h1=inp,
h2=h1,
filter_size=FIRST_CONVOLUTION_FILTER,
multiplier=CONVOLUTION_MULTIPLIER,
input_width=IMG_WIDTH * 2,
input_height=IMG_HEIGHT,
output_width=h1_full_width,
output_height=h1_full_height,
offset_x=h1_image_width * i,
offset_y=0,
size_x=h1_image_width,
size_y=h1_image_height
)
_add_pool_connection(
net=net,
h1=h1,
h2=h2,
input_width=h1_full_width,
input_height=h1_full_height
)
for i in range(NUMBER_OF_IMAGES * CONVOLUTION_MULTIPLIER):
for j in range(CONVOLUTION_MULTIPLIER):
_add_convolutional_connection(
net=net,
h1=h2,
h2=h3,
filter_size=SECOND_CONVOLUTION_FILTER,
multiplier=CONVOLUTION_MULTIPLIER,
input_width=h2_width,
input_height=h2_height,
output_width=h3_full_width,
output_height=h3_full_height,
offset_x=h3_image_width * i,
offset_y=h3_image_height * j,
size_x=h3_image_width,
size_y=h3_image_height
)
_merge_connection(
net=net,
h1=h3,
h2=h4,
filter_size=MERGE_FILTER,
input_width=h3_full_width,
input_height=h3_full_height,
output_width=h4_full_width,
output_height=h4_full_height
)
net.addConnection(FullConnection(h4, h5))
net.addConnection(FullConnection(h5, outp))
# finish up
net.sortModules()
logger.info("Done building network")
return net
示例15: LinearLayer
# 需要導入模塊: from pybrain.structure.networks.feedforward import FeedForwardNetwork [as 別名]
# 或者: from pybrain.structure.networks.feedforward.FeedForwardNetwork import addConnection [as 別名]
#define layers and connections
inLayer = LinearLayer(2)
hiddenLayerOne = SigmoidLayer(4, "one")
hiddenLayerTwo = SigmoidLayer(4, "two")
outLayer = LinearLayer(1)
inToHiddenOne = FullConnection(inLayer, hiddenLayerOne)
hiddenOneToTwo = FullConnection(hiddenLayerOne, hiddenLayerTwo)
hiddenTwoToOut = FullConnection(hiddenLayerTwo, outLayer)
#wire the layers and connections to a net
net = FeedForwardNetwork()
net.addInputModule(inLayer)
net.addModule(hiddenLayerOne)
net.addModule(hiddenLayerTwo)
net.addOutputModule(outLayer)
net.addConnection(inToHiddenOne)
net.addConnection(hiddenOneToTwo)
net.addConnection(hiddenTwoToOut)
net.sortModules()
print(net)
trainer = BackpropTrainer(net, ds)
for i in range(20):
for j in range(1000):
trainer.train()
printNetResult(i, net)
print(net)
print(inToHiddenOne.params)