Caffe源码解读(九):Caffe可视化工具

从网络结构可视化、caffemodel的可视化、特征图可视化、可视化loss和accurary曲线等四个方面讲可视化

网络结构可视化

有两种办法:draw_net.py工具和在线可视化工具,推荐后者,灵活简便。

1、使用draw_net.py工具

需要安装numpy、gfortran、graphviz、pydot等工具之后,才能执行draw_net.py。

sudo apt-get update
sudo apt-get install python-pip python-dev python-numpy
sudo apt-get install gfortran graphviz
sudo pip install -r ${CAFFE_ROOT}/python/erquirements.txt
sudo pip install pydot

执行无参数的draw_net.py可以看到他支持的参数选项:

usage: draw_net.py [-h] [--rankdir RANKDIR] [--phase PHASE]
                   input_net_proto_file output_image_file

–rankdir:表示图的方向,从上往下或者从左往右,默认从左往右
执行命令:

./draw_net.py --rankdir TB ./lenet_train_test.prototxt mnist.png

TB:是top和bottom的缩写,表示从上往下
执行结果保存在mnist.png,如图:
这里写图片描述

2、在线可视化工具

地址:http://ethereon.github.io/netscope/#/editor
操作简单,不赘述

caffemodel的可视化

对卷积层而言如果能够可视化,就能预先判断模型的好坏。卷积层的权值可视化代码如下:

# -*- coding: utf-8 -*-
# file:test_extract_weights.py

import numpy as np
import matplotlib.pyplot as plt
import os
import sys
import caffe

deploy_file = "./mnist_deploy.prototxt"
model_file  = "./lenet_iter_10000.caffemodel"

#编写一个函数,用于显示各层的参数,padsize用于设置图片间隔空隙,padval用于调整亮度 
def show_weight(data, padsize=1, padval=0):
    #归一化
    data -= data.min()
    data /= data.max()

    #根据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值