环境: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)