MatConvnet工具箱文档翻译理解(2)

1.2 MatConvNet一目了然

MatConvNet具有简单的设计理念。 它不是将CNN包裹在软件的复杂层上,而是暴露了直接作为MATLAB命令的计算CNN构造块的简单函数,例如线性卷积和ReLU运算符。这些构建块易于组合成完整的CNN,并且可以用于实现复杂的学习算法。虽然提供了小型和大型CNN架构和培训例程的几个现实例子,但是总是可以回到基础并构建自己的网络,利用MATLAB在原型中的效率。通常不需要C编码来尝试新的体系结构。 因此,MatConvNet是计算机视觉和CNNs研究的理想操练场。 
MatConvNet包含以下元素: 
CNN计算块 
一组计算CNN的基本构建块的优化例程。例如,卷积块由 
y = vl_nnconv(x,f,b) 
实现,其中x是图像,f是过滤器组,b是偏移矢量(第4.1节)。 导数计算为 
[dzdx,dzdf,dzdb] = vl_nnconv(x,f,b,dzdy) 
其中dzdy是CNN输出w.r.t y的导数(第4.1节),第四章详细描述所有块。

CNN封装 
MatConvNet提供了一个简单的包装器,由vl_simplenn调用,实现具有线性拓扑(一个块链)的CNN。 
它还提供了一个更加灵活的包装器,支持具有任意拓扑的网络,封装在dagnn,DagNN MATLAB类中。

示例应用程序 
MatConvNet提供了几个在MNIST,CIFAR10和ImageNet数据上学习具有随机梯度下降和CPU或GPU的CNN的示例。

预训练模型 
MatConvNet提供了几种先进的预先训练的CNN模型,可以用于现成的,用于分类图像或在Caffe或DeCAF的精神下产生的图像编码。

1.3文档和示例

有关MatConvNet的三个主要信息来源。 
**首先,网站包含所有功能的描述和几个例子和教程。 
第二,有一个PDF手册,其中包含大量有关工具箱的技术细节,包括构建块的详细数学描述。 
第三,MatConvNet附有几个例子(第1.1节)。**

大多数示例是完全自包含的。 
例如,为了运行MNIST示例,它将MATLAB指向MatConvNet根目录,并键入addpath <-examples,后跟cnn_mnist。 
由于问题大小,ImageNet ILSVRC示例需要一些更多准备,包括下载和预处理图像(使用捆绑脚本utils /preprocess

1.5致谢

MatConvNet是一个社区项目,因此感谢所有贡献者。我们衷心感谢NVIDIA支持这个项目,为我们提供了顶级的GPU和MathWorks,以进行关于如何改进库的讨论。 
在这个库中的几个CNN计算的实现是受到Caffe库的启发[5](然而,Caffe不是依赖),几个示例网络已经由Karen Simonyan作为[1]和[10]的一部分训练。

猜你喜欢

转载自blog.csdn.net/shenziheng1/article/details/80473251
今日推荐