【发布时间】:2014-03-10 14:08:22
【问题描述】:
我正在使用 pybrain 构建神经网络。 有时情况的图形表示会非常有用。
是否可以绘制使用 pybrain 生成的神经网络的结构?
【问题讨论】:
-
看看“[如何打印网络(节点和权重)][1]”[1]:stackoverflow.com/questions/8150772/…
-
谢谢,但它会打印结果。我对情节更感兴趣
我正在使用 pybrain 构建神经网络。 有时情况的图形表示会非常有用。
是否可以绘制使用 pybrain 生成的神经网络的结构?
【问题讨论】:
我认为最初的提问者可能正在寻找这样的东西(就像我一样,虽然没有动画):http://www.codeproject.com/KB/dotnet/predictor/learn.gif
我认为这篇文章或多或少地回答了这个问题: How to visualize a neural network
“或多或少”,因为很高兴看到每个圆圈内的单元格引用(A0、A1、A2、B0 等)。
但我是 Python 和神经网络的初学者,如果我错了,请随时纠正我。
【讨论】:
正如已经提到的,这个答案How to visualize a neural network 展示了如何使用 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
【讨论】: