2024-05-15 00:08:04 发布
网友
我想创建一个人工神经网络(在PyBrain中),它遵循以下布局:
但是,我找不到实现这一目标的正确方法。我在文档中看到的唯一选项是创建完全连接层的方法,这不是我想要的:我希望我的一些输入节点连接到第二个隐藏层,而不是第一个。
解决方案是使用您选择的连接类型,但是使用切片参数:inSliceFrom、inSliceTo、outSliceFrom和outSliceTo。我同意文档应该提到这一点,到目前为止它只在Connection类的注释中提到。
inSliceFrom
inSliceTo
outSliceFrom
outSliceTo
Connection
以下是您案例的示例代码:
#create network and modules net = FeedForwardNetwork() inp = LinearLayer(9) h1 = SigmoidLayer(2) h2 = TanhLayer(2) outp = LinearLayer(1) # add modules net.addOutputModule(outp) net.addInputModule(inp) net.addModule(h1) net.addModule(h2) # create connections net.addConnection(FullConnection(inp, h1, inSliceTo=6)) net.addConnection(FullConnection(inp, h2, inSliceFrom=6)) net.addConnection(FullConnection(h1, h2)) net.addConnection(FullConnection(h2, outp)) # finish up net.sortModules()
schaul建议的另一种方法是使用多个输入层。
#create network net = FeedForwardNetwork() # create and add modules input_1 = LinearLayer(6) net.addInputModule(input_1) input_2 = LinearLayer(3) net.addInputModule(input_2) h1 = SigmoidLayer(2) net.addModule(h1) h2 = SigmoidLayer(2) net.addModule(h2) outp = SigmoidLayer(1) net.addOutputModule(outp) # create connections net.addConnection(FullConnection(input_1, h1)) net.addConnection(FullConnection(input_2, h2)) net.addConnection(FullConnection(h1, h2)) net.addConnection(FullConnection(h2, outp)) net.sortModules()
解决方案是使用您选择的连接类型,但是使用切片参数:
inSliceFrom
、inSliceTo
、outSliceFrom
和outSliceTo
。我同意文档应该提到这一点,到目前为止它只在Connection
类的注释中提到。以下是您案例的示例代码:
schaul建议的另一种方法是使用多个输入层。
相关问题 更多 >
编程相关推荐