Графвиз не рисует граф
Я пытаюсь визуализировать график нейронной сети, созданный с помощью 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.
2 ответа
Я не уверен, если это ваша проблема или нет. Но в Ubuntu, по крайней мере, вам нужно установить graphviz дважды: как в виде отдельного пакета, так и в виде привязок Python отдельно.
sudo apt-get install -y graphviz
sudo pip install graphviz
Если вы сделаете все это и окажетесь в блокноте jupyter, у объекта graphviz есть метод (я забыл, как он называется), который jupyter анализирует и вызывает для отрисовки чертежа.
Если вы находитесь в командной строке ipython или python shell, он, конечно, не будет отображать чертеж, потому что он не может отображать графику.
Мне пришлось добавить путь к двоичным файлам graphviz в моей переменной окружения PATH, и, как предложено unubtu, я назвал a.render()
который создал файл PDF с графиком в нем.