第一节课(系列六):从零起步编码实现多层次神经网络

 

    接下来创建输出层Output layer。

    将之前创建Node节点的代码复制过来进行修改,作为输出层,给神经元节点命名的时候命名为Output,输出层的节点是结果,显然不是Bias,因此设置输出层的node的_is_bias_unit为False值。

    这样我们初步创建了神经元网络节点。 以下是本节已经编写的创建神经元网络节点的代码版本(NetworkStructure.py(v1)),代码中创建了输入层的Bias节点、隐藏层所有的Bias节点、隐藏层的所有神经元节点、输出层的节点,但这里还没有创建输入层的节点,后续我们将进行迭代完善,加上这部分代码。

 Create_AI_Framework_In5Classes(Class1)版本的NetworkStructure.py(v1):

 # -*- coding: utf-8 -*-
#导入要使用的Node类from entity.Node import Node class NetworkStructure: #创建整个神经网络的所有节点 def create_nodes(num_of_features, hidden_layers): nodes = [] nodeIndex = 0 #Neuron的ID #Input layer #Bias Unit node = Node() node.set_index(nodeIndex) node.set_label("+1") node.set_is_bias_unit(True) nodes.append(node) nodeIndex = nodeIndex + 1 print(node.get_label(), "\t", end = '') print("") #Hidden layer for i in range(len(hidden_layers)): print("Hidden layer creation: ", end = ' ') #Bias Unit node = Node() node.set_index(nodeIndex) node.set_label("+1") node.set_is_bias_unit(True) nodes.append(node) nodeIndex = nodeIndex + 1 print(node.get_label(), "\t", end = '') #创建该layer的Neurons for j in range(hidden_layers[i]): #创建该layer内部的Neuron node = Node() node.set_index(nodeIndex) node.set_label("+1") node.set_is_bias_unit(False) nodes.append(node) nodeIndex = nodeIndex + 1 print(node.get_label(), "\t", end = '') print("") #Output layer node = Node() node.set_index(nodeIndex) node.set_label("Output") node.set_is_bias_unit(False) nodes.append(node) nodeIndex = nodeIndex + 1 print("Output layer: ", node.get_label()) return nodes


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

段智华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值