【问题标题】:Graphviz not drawing graphGraphviz 不绘制图形
【发布时间】:2017-06-19 14:42:20
【问题描述】:

我正在尝试可视化使用 mxnet inn python 创建的神经网络图。代码如下所示

net = mx.sym.Variable('data')    
net = mx.sym.FullyConnected(data=net, name='fc1', num_hidden=128)    
net = mx.sym.Activation(data=net, name='relu1', act_type="relu")    
net = mx.sym.FullyConnected(data=net, name='fc2', num_hidden=10)    
net = mx.sym.SoftmaxOutput(data=net, name='out')    
mx.viz.plot_network(net, shape={'data':(100,200)})  

最后一行运行没有任何错误,我看到这条消息 - graphviz.dot.Digraph at 0x262f91b8e10>

但我没有看到任何图表。请注意,我已经安装了 graphviz。

【问题讨论】:

  • 根据this example,您可能需要将graphviz.dot.Digraph保存到一个变量中(我们称之为a),然后调用a.render()
  • 你是在 jupyter notebook 中运行这个吗?
  • 我必须在我的 PATH 环境变量中添加 graphviz 二进制文件路径,并且按照 unubtu 的建议,我调用了 a.render(),它创建了一个包含图形的 pdf 文件。是的,我正在使用 jupyter notebook Leopd
  • @AbhishekKishore 如果您找到了解决方法,能否将其发布为答案?它将从已回答的池中删除此问题,并且也可能对其他人有所帮助。

标签: python graphviz mxnet


【解决方案1】:

我不确定这是否是您的问题。但在 Ubuntu 中,您至少需要安装两次 graphviz:既作为独立包,也作为单独的 python 绑定。

sudo apt-get install -y graphviz
sudo pip install graphviz

如果你做了所有这些,并且你在一个 jupyter 笔记本中,graphviz 对象有一个暴露的方法(我忘记它叫什么),jupyter 会自省并调用它来渲染绘图。

如果您在命令行 ipython 或 python shell 中,它当然不会渲染绘图,因为它无法渲染图形。

【讨论】:

    【解决方案2】:

    我必须在我的 PATH 环境变量中添加 graphviz 二进制文件路径,并且按照 unubtu 的建议,我调用了 a.render(),它创建了一个包含图形的 pdf 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 2020-05-03
      • 2019-10-27
      相关资源
      最近更新 更多