caffe drawnet.py 用Python画网络框架
在caffe中可以使用draw_net.py轻松地绘制卷积神经网络(CNN,Convolutional Neural Networks)的架构图。这个工具对于我们理解、学习甚至查错都有很大的帮助。
1、draw_net.py的使用方法如下:
usage: draw_net.py [-h] [--rankdir RANKDIR]
input_net_proto_file output_image_file
Draw a graph of the net architecture.
positional arguments:
input_net_proto_file Input network prototxt file
output_image_file Output image file
optional arguments:
-h, --help show this help message and exit
--rankdir RANKDIR One of TB (top-bottom, i.e., vertical), RL (right-
left, i.e., horizontal), or another valid dot option;
see
http://www.graphviz.org/doc/info/attrs.html#k:rankdir
(default: LR)
其中,–rankdir选项确定了输出图片的摆放位置,如TB (Top-Bottom) 就是网络从上到下访问,同理RL (Right-Left)就是从右向左,LR (Left-Right) 就是从左向右摆放。默认使用的是LR方式。
下面的代码输出了卷积神经网络经典的LeNet的网络结构
/home/cheche/caffe-master/python# python draw_net.py --rankdir TB ../examples/mnist/lenet.prototxt ../examples/mnist/lenet_structure.jpg
2、出错解决方案
(1)、提示“ImportError: no module named pydot”
解决方案:返回系统根目录,用命令“pip install pydot”安装“pydot”
(2)、安装完pydot后,再次进入"../caffe-master/python#"目录,运行1中的命令进行绘图,出现新问题““AttributeError: ‘google.protobuf.pyext._message.RepeatedScalarConta’ object has no attribute ‘_values””
实际上是由于protobuf(例如centos7(protobuf=3.2)) 版本过高导致。
解决办法:
返回系统根目录,运行以下代码重新安装protobuf
pip uninstall protobuf
pip install protobuf==2.6.0
(3)、如果上述步骤不能解决问题,可以使用在线绘图
地址为:http://ethereon.github.io/netscope/#/editor
感谢以下作者:
http://blog.csdn.net/dcxhun3/article/details/52237480
http://blog.csdn.net/xiaoyezi_1834/article/details/50725632
http://blog.csdn.net/yiranyhy/article/details/55509304
http://blog.csdn.net/dongfang1984/article/details/72868732
caffe drawnet.py 用Python画网络框架的更多相关文章
- uvloop —— 超级快的 Python 异步网络框架
简短介绍 asyncio是遵循Python标准库的一个异步 I/O框架.在这篇文章里,我将介绍 uvloop: 可以完整替代asyncio事件循环.uvloop是用Cython写的,基于 libuv. ...
- Python抓取框架:Scrapy的架构
最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这个工具. 一.概述 下 ...
- python 网络框架twisted基础学习及详细讲解
twisted网络框架的三个基础模块:Protocol, ProtocolFactory, Transport.这三个模块是构成twisted服务器端与客户端程序的基本.Protocol:Protoc ...
- Python全栈开发:django网络框架(一)
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- python网络框架Twisted
什么是Twisted Twisted是一个用python语言写的事件驱动网络框架,它支持很多种协议,包括UDP,TCP,TLS和其他应用层协议,比如HTTP,SMTP,NNTM,IRC,XMPP/Ja ...
- Python twisted事件驱动网络框架 源码剖析
一.Twisted简介 Twisted是一个事件驱动的网络框架,其中包含了诸多功能,例如:网络协议.线程.数据库管理.网络操作.电子邮件等. 事件驱动简而言之,事件驱动分为二个部分:第一,注册事件:第 ...
- 事件驱动之Twsited异步网络框架
在这之前先了解下什么是事件驱动编程 传统的编程是如下线性模式的: 开始--->代码块A--->代码块B--->代码块C--->代码块D--->......--->结 ...
- Twsited异步网络框架
Twisted是一个事件驱动的网络框架,其中包含了诸多功能,例如:网络协议.线程.数据库管理.网络操作.电子邮件等. Twisted介绍:http://blog.csdn.net/hanhuili/a ...
- Python 常用Web框架的比较
转载来自:https://www.cnblogs.com/sunshine-1/p/7372934.html 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OL ...
随机推荐
- vue 之iview
iView-admin2.0:https://admin.iviewui.com/ 组件:https://www.iviewui.com/docs/guide/install
- js跨域交互之jsonp - 看完就能让你了解jsonp原理 (原)
跨域? 跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的. 同源策略? 一般来说 a.com 的网页无法直接与 b.com的服务器沟通, 浏览器的同源策略限制从一个源加载的文档或脚本 ...
- sessionid固定与session混淆的一些随想
以前一直觉得sessionid固定和session混淆就是两个一样的东西,后来发现两者还是要分开来的,主要因为利用场景的不同!!! sessionid固定和session混淆还是需要区分开来的一般情况 ...
- 记使用talend从oracle抽取数据时,数字变为0的问题
数据源为oracle,字段类型为number. 发现通过mainline连接到一个logrow控件,输入的该字段的值为0 经过多次测试还是没发现有什么规律. 通过查看代码发现有这一句内容. if (r ...
- CentOS 7 NAT模式LVS搭建
NAT模式下 , 调度器需要有两个IP , 一个公网IP一个内网IP , web服务器只需要内网IP 调度器LB : 192.168.94.11(内网IP) 192.168.29.11 (仅主机模式 ...
- 使用axios优雅的发起网络请求
原文链接:https://www.jianshu.com/p/73585303fdc0 公司项目使用了vue作为技术栈,便理所应当地使用了官方推荐的axios进行网络请求,这里记录下axios的封装方 ...
- python核心技术
基本语法 Python的设计目标之一是让代码具备高度的可阅读性.它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观.它不像其他的静态语言如C.Pascal那样需要重复书写声明语 ...
- npm报错处理
在npm install 命令下载的时候经常会出现下面的报错: 解决办法: npm cache clean --force npm install
- java框架注意
struts2 数据类型不匹配时会return "input" <result name="input">/WEB-INF/index.jsp< ...
- flutter 获取设备屏幕大小
import 'dart:ui'; var s = window.physicalSize;print(s);