MatConvnet--CNN wrappers
来源:互联网 发布:苹果悬浮时间软件 编辑:程序博客网 时间:2024/06/12 13:12
在其核心,MatConvNet包括实现CNN构建块的一些MATLAB函数。 这些通常通过使用两个CNN包装器之一组合成完整的CNN。 第一个包装器是SimpleNN,其中大部分由MATLAB函数vl_simplenn实现。 SimpleNN适用于具有线性拓扑的网络,即计算块链。 第二个包装器是DagNN,它实现为MATLAB类dagnn.DagNN。
SimpleNN包装器
SimpleNN包装器由函数vl_simplenn和其他几个函数实现。 这是一个轻量级的包装器,适合于CNN组成一个简单的块链。
要从Simple开始,创建一个网络结构,用层列表填充单元格数组net.layers。 例如:
net.layers{1} = struct(... 'name', 'conv1', ... 'type', 'conv', ... 'weights', {{randn(10,10,3,2,'single'), randn(2,1,'single')}}, ... 'pad', 0, ... 'stride', 1) ;net.layers{2} = struct(... 'name', 'relu1', ... 'type', 'relu') ;
现在卷积层和ReLU层将按顺序执行。 卷积具有两个10×10×3滤波器组。 评价可以如下获得:
data = randn(300, 500, 3, 5, 'single') ;res = vl_simplenn(net, data) ;
结构res包含计算结果,对于体系结构中的每个变量具有一个条目:
>> resres =1x3 struct array with fields: x dzdx dzdw aux time backwardTime
这里,x是变量值,dzdx是关于x的CNN的导数,dzdw是关于每个块参数的CNN的导数,用于定制信息的aux空间(例如,dropout层中的掩模)和时间, backwardTime在向前和向后通过中花费的时间。
例如,res(1).x是CNN的输入,res(3).x是其输出。
CNN的导数可以计算如下:
res = vl_simplenn(res, data, dzdy)
这既执行向前传递又执行向后传递。 dzdy是应用于CNN的输出值的投影(参见PDF手册以澄清这一点)。 在训练期间,CNN常常由计算单个标量损失值(即res(end).x是标量)的块终止。 在这种情况下,经常选择dzdy = 1。
0 0
- MatConvnet--CNN wrappers
- TCP Wrappers
- TCP WRAPPERS
- 深度学习 2. MatConvNet(CNN)的配置和相关实验结果,CNN学习使用(本人project作业)
- 模式识别hw2-------基于matconvnet,用CNN实现人脸图片性别识别
- 如何使用白菜价GPU运行基于MatConvNet的CNN程序
- 深度学习 3. MatConvNet (CNN)的介绍和下载以及CPU和GPU的安装配置,Matlab2016
- Defrag API C# wrappers
- 第九章 GDI Wrappers
- PHP的Wrappers
- Flask之Wrappers
- matconvnet编译
- matlab matconvnet
- matConvnet编译
- MatConvNet安装
- MatConvNet--VL_NNBNORM
- MatConvNet--VL_NNBILIEARSAMPLER
- MatConvNet学习
- RecyclerView布局靠左问题
- [转]服务器操作系统CoreOS介绍
- js阻止事件冒泡
- 利用TextInputLayout实现hint浮动显示(一)
- java正则验证密码必填字母数字特殊字符及扩展
- MatConvnet--CNN wrappers
- ansible 配置使用
- 编程错误提示 无法打开头文件
- 代码实现补间动画
- Java数据类型和MySql数据类型对应描述
- BZOJ2049 LCT
- 抽象类、接口的简单语法
- 利用php发送邮件
- php之redis笔记1