如何绘制BP神经网络结构
我正在使用pybrain来构建神经网络。 有时候,图形化地展示一下情况会非常有帮助。
请问,能否绘制出使用pybrain生成的神经网络的结构呢?
2 个回答
0
正如之前提到的,这个回答 如何可视化神经网络 展示了如何使用pyplot来绘制简单的网络。
下面是如何将这个解决方案调整为适用于PyBrain的方法:
class PybrainNNVisualizer():
def __init__(self, neural_network):
"""
:type neural_network: Network
"""
self.neural_network = neural_network
def draw(self):
widest_layer = max([layer.dim for layer in self.neural_network.modules])
network = NeuralNetwork(widest_layer)
for layer in self.neural_network.modulesSorted:
if type(layer) is BiasUnit:
continue
network.add_layer(layer.dim)
network.draw()
使用方法:
fnn = buildNetwork(4, 8, 1)
PybrainNNVisualizer(fnn).draw()
完整源代码: https://github.com/AlexP11223/SimplePyBrainNeuralNeutwork/blob/master/nnvisualizer.py
1
我觉得最开始提问的人可能在寻找类似这样的东西(我也是,不过我不需要动画效果):http://www.codeproject.com/KB/dotnet/predictor/learn.gif
而我觉得这个帖子大致上回答了这个问题:如何可视化神经网络
之所以说“大致上”,是因为如果每个圆圈里能看到单元格的引用(比如A0、A1、A2、B0等等)就更好了。
不过我在Python和神经网络方面完全是个新手,如果我说错了,请随意纠正我。
- Guy