如何绘制BP神经网络结构

3 投票
2 回答
1053 浏览
提问于 2025-04-17 21:38

我正在使用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

撰写回答