利用python绘制caffe2网络图的配置问题

环境:win10+caffe2+python(VSCode)

下面这个方法是网上常见的方法,但是不知道为什么,这种方法在我的环境下一直无法正常显示图片,后来索性直接将网络模型保存至本地,用Opencv来显示模型,网上常见的做法:

1.首先需要安装graphviz,并配置系统环境变量

2.pip install pygraphviz

3.pip install pydot-ng

利用opencv来显示网络模型的方法:

1.创建网络:


from caffe2.python import core,workspacefrom caffe2.proto

import caffe2_pb2

from caffe2.python import net_drawer

import cv2

X = net.GaussianFill([],["X"],mean=0.0,std=1.0,shape=[2,3],run_once=0)

print("new Network Porto:\n{}".format(net.Proto()))

W = net.GaussianFill([],["W"],std=1.0,mean = 0.0,shape=[5,3],run_once=0)

b = net.ConstantFill([],["b"],shape = [5,],value = 1.0,run_once=0)

Y = net.FC([X,W,b],["Y"])

print("current Network proto :\n{}".format(net.Proto()))

2.利用net_drawer的模块将net转化为一个pydot.Dot的类(本人不了解pydot模块,有错误还望指出),该类可以有方法生成png文件:

graph = net_drawer.GetPydotGraph(net,rankdir="LR") #此处返回的应是pydot.Dot类

graph.write_png("out.png")#使用该方法可以生成图片

接着就可以用opencv来显示图片了:

img1 = cv2.imread("out.png",1)

cv2.imshow("Netgraph",img1)

cv2.waitKey(0)

推荐阅读更多精彩内容