def build_feedforward_multilayered(input_number = 2, hidden_numbers = [2], output_number = 1, hidden_function = "tanh", output_function = "logsig"): net = network() net.num_of_inputs = input_number inputs = range(input_number) biasnode = net.bias_node #Hidden layers prev_layer = inputs for hidden_number in hidden_numbers: current_layer = [] for i in xrange(int(hidden_number)): hidden = node(hidden_function) connect_node(hidden, biasnode) connect_nodes(hidden, prev_layer) net.hidden_nodes.append(hidden) current_layer.append(hidden) prev_layer = current_layer #Output nodes for i in xrange(int(output_number)): output = node(output_function) connect_node(output, biasnode) connect_nodes(output, prev_layer) net.output_nodes.append(output) return net
def test4NodesTest(self): net = network() #input_number = 2 # 2 inputs #net.num_of_inputs = input_number #inputs = range(input_number) biasnode = net.bias_node inputs = range(2) my_node = Node("linear") for in_idx in inputs: #connect with inputs with weight 1.0 connect_node(my_node, in_idx, 1.0) out_val = my_node.output([1.0,1.0]) print("Output of node with (1,1) is: {0}".format(out_val)) assert(out_val == 2.0) # Simply the sum of the inputs #connect to bias connect_node(my_node, biasnode, 1.0) out_val = my_node.output([1.0,1.0]) print("Output of node with (1,1) and bias is: {0}".format(out_val)) assert(out_val == 3.0) # Simply the sum of the inputs