在上Andrew Ng的课的时候搜集到了课程里面自带的显示NN参数的代码,但是只能显示灰度图,而且NN里的参数没有通道的概念。所以想要获得可视化CNN的参数,并且达到彩色的效果就不行了。

所以就自己写了一个,对了,是Matlab脚本哈。

function olDisplayFilter(filter, pad)
%% !Only Show the 1st-3rd channel of filter %%
if nargin == 1
% Between images padding
pad = 1;
end [M, N, P, Q] = size(filter);
width = ceil(sqrt(Q));
displayArray = zeros(pad + width * (M+pad), pad + width* (N+pad), 3); count = 1;
for i = 1 : width
for j =1 : width
if count > Q
break;
end f_ = filter(:, :, 1:3, count);
absMinVal = abs(min(f_(:)));
f_ = f_ + absMinVal;
absMaxVal = max(abs(f_(:)));
f_ = f_ / absMaxVal; displayArray(pad + (i - 1) * (M + pad) + (1 : M),...
pad + (j - 1) * (N + pad) + (1: N), :) ...
= f_;
count = count + 1;
end
end imagesc(displayArray, [-1, 1]); axis image off
drawnow;
end

  最后得到的效果就是这个样子的:

这个图是加载了imagenet的训练结果第一层参数的效果图,训练结果下载地址在这里:

http://www.vlfeat.org/matconvnet/models/imagenet-vgg-f.mat

下载完成这个mat文件后,如果想复现上面这个图的话运行一下这句话:olDisplayFilter(layers{1}.filters) 就可以了。

另外要是对前面提到的Andrew Ng课程里面显示神经网络参数的代码感兴趣的话,可以戳https://github.com/OleNet/OleNetLib/tree/master/MatLiB,里面的olDisplayNetwork.m和olDisplayData.m都行

可视化CNN神经网路第一层参数的更多相关文章

  1. 神经网路的层数,损失函数(loss)

    神经网络的复杂度:可用神经网络的层数和神经网络中待优化参数个数表示 神经网路的层数:一般不计入输入层,层数 = n 个隐藏层 + 1 个输出层 神经网路待优化的参数:神经网络中所有参数 w 的个数 + ...

  2. spring boot mapper层传参数是用main的arg0(第一个参数),arg1(第二个参数)

    spring boot mapper层传参数是用main的arg0(第一个参数),arg1(第二个参数) 大于三个参数,用map传递 public interface FrontMapper{ //= ...

  3. 人工智能起步-反向回馈神经网路算法(BP算法)

    人工智能分为强人工,弱人工. 弱人工智能就包括我们常用的语音识别,图像识别等,或者为了某一个固定目标实现的人工算法,如:下围棋,游戏的AI,聊天机器人,阿尔法狗等. 强人工智能目前只是一个幻想,就是自 ...

  4. 深度学习之PyTorch实战(2)——神经网络模型搭建和参数优化

    上一篇博客先搭建了基础环境,并熟悉了基础知识,本节基于此,再进行深一步的学习. 接下来看看如何基于PyTorch深度学习框架用简单快捷的方式搭建出复杂的神经网络模型,同时让模型参数的优化方法趋于高效. ...

  5. (原)torch中微调某层参数

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6221664.html 参考网址: https://github.com/torch/nn/issues ...

  6. CNN中减少网络的参数的三个思想

    CNN中减少网络的参数的三个思想: 1) 局部连接(Local Connectivity) 2) 权值共享(Shared Weights) 3) 池化(Pooling) 局部连接 局部连接是相对于全连 ...

  7. Tensorflow-slim 学习笔记(二)第一层目录代码解读

    通过阅读代码来学习,一向时最直接快速的.本章将讲解slim的第一层目录tensorflow/tensorflow/contrib/slim/python/slim的代码. 本层代码主要包括learni ...

  8. [caffe]网络各层参数设置

    数据层 数据层是模型最底层,提供提供数据输入和数据从Blobs转换成别的格式进行保存输出,通常数据预处理(减去均值,放大缩小,裁剪和镜像等)也在这一层设置参数实现. 参数设置: name: 名称 ty ...

  9. Ajax -异步请求 -jquery中ajax分类 -第一层 $.ajax -第二层($.get /$.post) -第三层($.getJson/$.getScript) -相应演示

    Ajax 1.标准请求响应时浏览器的动作(同步操作) 1.1浏览器请求什么资源,跟随显示什么资源2.ajax:异步请求. 2.1局部刷新,通过异步请求,请求到服务器资源数据后,通过脚本修改页面中部分内 ...

随机推荐

  1. mysql binlog日志的三种模式

    1.statement level模式 每一条会修改数据的sql都会记录到master的bin-log中.slave在复制的时候sql进程会解析成和原来master端执行过的相同的sql来再次执行.优 ...

  2. LeetCode:前K个高频元素【347】

    LeetCode:前K个高频元素[347] 题目描述 给定一个非空的整数数组,返回其中出现频率前 k 高的元素. 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [ ...

  3. 特别好用的swagger ui 封装

    Swagger简单介绍 Swagger是一个Restful风格接口的文档在线自动生成和测试的框架 官网:http://swagger.io 官方描述:The World’s Most Popular ...

  4. hive--udf函数(开发-4种加载方式)

    UDF函数开发 标准函数(UDF):以一行数据中的一列或者多列数据作为参数然后返回解雇欧式一个值的函数,同样也可以返回一个复杂的对象,例如array,map,struct. 聚合函数(UDAF):接受 ...

  5. hadoop---Java 网络IO编程总结BIO、NIO、AIO

    转载请注明出处:http://blog.csdn.net/anxpp/article/details/51512200,谢谢! 本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解 ...

  6. Cookie应用参考

    内容来自imooc.

  7. Django学习笔记之Django视图View

    一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. ...

  8. springboot--配置文件加载顺序

    -file:./config(内部配置) -file:./ (内部配置) -classpath:/config (外部配置) -classpath:/ (外部配置) 运维: spring -jar s ...

  9. RBAC权限控制

    1.什么是RBAC权限模型rity2.RBAC权限模型表设计3.整合Mybatis数据库4.UserDetailsService5.动态查询数据库登陆6.动态权限角色拦截 什么是RBAC权限模型r 基 ...

  10. Spring-boot CLI下载

    Spring-boot CLI下载地址: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-s ...