您当前的位置: 首页 >  段智华 网络

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

段智华 发布时间:2019-03-09 07:05:28 ,浏览量:4

 

    接下来创建输出层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


关注
打赏
查看更多评论

段智华

暂无认证

  • 4浏览

    0关注

    1232博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录