mnist全连接层网络权值可视化
一、数据准备
网络结构:lenet_lr.prototxt
训练好的模型:lenet_lr_iter_10000.caffemodel
下载地址:链接:https://pan.baidu.com/s/1uBDTKapT1yFHX4TEMaxQvQ 密码:2mla
二、利用pycaffe可视化,只需根据prototxt文件即可得到
~/caffe/caffe/examples/mnist$ python /home/tingpan/caffe/caffe/python/draw_net.py lenet_lr.prototxt lenet_lr.png
三、matlab权值可视化
1、切换至caffe目录下,在matlab目录中新建mnist_lr_weights_vis.m
clear;
clc;
close all;
addpath('matlab')
caffe.set_mode_cpu();
caffe.version()
net = caffe.Net('examples/mnist/lenet_lr.prototxt' , ...
'examples/mnist/lenet_lr_iter_10000.caffemodel', 'test');
net.layer_names
net.blob_names
ip_layer = net.layer_vec();
weight_blob = ip_layer.params();
w = weight_blob.get_data();
size(w) %784x10
bias_blob = ip_layer.params();
b = bias_blob.get_data();
size(b) %10x1 w = w - min(min(w));
w = w/(max(max(w)))*;
w = uint8(w);
figure; imshow(w);
imwrite(w, './matlab/ip_weight.bmp');
sprintf('finish')
2、点击运行
点击添加到路径。
3、输出:
ans = 1.0. ans = × cell 数组 'mnist'
'label_mnist_1_split'
'ip'
'ip_ip_0_split'
'accuracy'
'loss' ans = × cell 数组 'data'
'label'
'label_mnist_1_split_0'
'label_mnist_1_split_1'
'ip'
'ip_ip_0_split_0'
'ip_ip_0_split_1'
'accuracy'
'loss' ans = ans = ans = finish
4、分析
net内容为
可得matlab可视化得到的网络模型是
从图中可输出layer有6层(6个矩形),blob有9个(9个椭圆形或多边形);
其中,InnerProduct(内积层,也即全连接层),存有权重信息。该权重尺寸为784x10,可推出blob的data的size为100x784,blob中的ip的size为100x10;
net.layer_vec中只有ip层的params不为空
其中第一个blob的size为748x10,为权重;第二个blob的size为10x1,为偏置参数。
得到的权值图片为:caffe/matlab/ip_weight.bmp
end
mnist全连接层网络权值可视化的更多相关文章
- bvlc_reference_caffenet网络权值可视化
一.网络结构 models/bvlc_reference_caffenet/deploy.prototxt 二.显示conv1的网络权值 clear; clc; close all; addpath( ...
- 深度学习原理与框架-卷积网络细节-图像分类与图像位置回归任务 1.模型加载 2.串接新的全连接层 3.使用SGD梯度对参数更新 4.模型结果测试 5.各个模型效果对比
对于图像的目标检测任务:通常分为目标的类别检测和目标的位置检测 目标的类别检测使用的指标:准确率, 预测的结果是类别值,即cat 目标的位置检测使用的指标:欧式距离,预测的结果是(x, y, w, h ...
- caffe之(四)全连接层
在caffe中,网络的结构由prototxt文件中给出,由一些列的Layer(层)组成,常用的层如:数据加载层.卷积操作层.pooling层.非线性变换层.内积运算层.归一化层.损失计算层等:本篇主要 ...
- 全连接层(FC)与全局平均池化层(GAP)
在卷积神经网络的最后,往往会出现一两层全连接层,全连接一般会把卷积输出的二维特征图转化成一维的一个向量,全连接层的每一个节点都与上一层每个节点连接,是把前一层的输出特征都综合起来,所以该层的权值参数是 ...
- fc全连接层的作用、卷积层的作用、pooling层、激活函数的作用
fc:1.起到分类器的作用.对前层的特征进行一个加权和,(卷积层是将数据输入映射到隐层特征空间)将特征空间通过线性变换映射到样本标记空间(也就是label) 2.1*1卷积等价于fc:跟原featur ...
- CNN学习笔记:全连接层
CNN学习笔记:全连接层 全连接层 全连接层在整个网络卷积神经网络中起到“分类器”的作用.如果说卷积层.池化层和激活函数等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的特征表示映射到样 ...
- 深度学习Keras框架笔记之Dense类(标准的一维全连接层)
深度学习Keras框架笔记之Dense类(标准的一维全连接层) 例: keras.layers.core.Dense(output_dim,init='glorot_uniform', activat ...
- PyTorch全连接ReLU网络
PyTorch全连接ReLU网络 1.PyTorch的核心是两个主要特征: 一个n维张量,类似于numpy,但可以在GPU上运行 搭建和训练神经网络时的自动微分/求导机制 本文将使用全连接的ReLU网 ...
- resnet18全连接层改成卷积层
想要尝试一下将resnet18最后一层的全连接层改成卷积层看会不会对网络效果和网络大小有什么影响 1.首先先对train.py中的更改是: train.py代码可见:pytorch实现性别检测 # m ...
随机推荐
- ml交叉验证
https://blog.csdn.net/guanyuqiu/article/details/86006474 https://blog.csdn.net/weixin_42660173/artic ...
- POJ3070 斐波那契数列 矩阵快速幂
题目链接:http://poj.org/problem?id=3070 题意就是让你求斐波那契数列,不过n非常大,只能用logn的矩阵快速幂来做了 刚学完矩阵快速幂刷的水题,POJ不能用万能头文件是真 ...
- js 里面的那些节省字节的写法 a|0 void 0等等
//取整 parseInt(a,10); Math.floor(a); ~~a; //节省之后的写法 a|0; //节省之后的写法 //四舍五入 Math.round(a); a+.5|0; //节省 ...
- jQuery.ready() 函数详解
jQuery.ready() 函数详解 ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数, ...
- Linux 安装 ffmpeg
在安装ffmpeg之前,需要先安装一些必需组件.包括但不限于以下组件(有的系统里面可能已经安装过) 首先在根目录下创建:ffmpeg_sources 1.Yasm sudo apt-get insta ...
- 序列化模块— json模块,pickle模块,shelve模块
json模块 pickle模块 shelve模块 序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. # 序列化模块 # 数据类型转化成字符串的过程就是序列化 # 为了方便存储和网 ...
- js格式化数字
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- dede织梦 dede:arclist当前索引值
{dede:arclist row='10' titlelen='50' flag='c'} <li class="rank[field:global name='autoindex' ...
- ubuntu1604使用之旅——安装samba
1.安装samba sudo apt-get install samba 2.安装sambaclient sudo apt-get install smbclient 3.修改配置文件 sudo vi ...
- python自学第12天 模块
json , pickle模块 json,用于字符串和python数据类型间进行转换 pickle,用于python特有的类型和python数据类型间的进行转换 shelve 模块 是一个简单的k,v ...