Matlab2017b一款由美国MathWorks公司开发的一款全球顶尖的商业数学软件,Matlab2017b新增对深度学习及对复杂架构的支持,并对图形、数据导入和导出及语言和编程进行了增强,Matlab2017b全新的硬件支持以让各类数学或者科研人员可以轻松地进行计算和分析等操作,Matlab2017b中文版加入了对C,FORTRAN,C++,JAVA的支持,让用户可以直接调用,使用非常的方便。
Matlab2017b软件特色
一、数百万工程师和科学家信赖 MATLAB
MATLAB 将适合迭代分析和设计过程的桌面环境与直接表达矩阵和数组运算的编程语言相结合。
1、专业开发
MATLAB 工具箱经过专业开发、严格测试并拥有完善的帮助文档。
2、包含交互式应用程序
MATLAB 应用程序让您看到不同的算法如何处理您的数据。在您获得所需结果之前反复迭代,然后自动生成 MATLAB 程序,以便对您的工作进行重现或自动处理。
3、以及扩展能力
只需更改少量代码就能扩展您的分析在群集、GPU 和云上运行。无需重写代码或学习大数据编程和内存溢出技术。
二、让您的创意从研究迈向生产
·Deploy to Production Systems
·部署到企业应用程序
·MATLAB 代码可直接用于生产,因此您可以直接部署到云和企业系统,并与数据源和业务系统集成。
·Hardware
·在嵌入式设备上运行
·自动将 MATLAB 算法转换为 C/C++ 和 HDL 代码,从而在嵌入式设备上运行。
·Run on Embedded Devices
·与基于模型的设计集成
·MATLAB 与 Simulink 配合以支持基于模型的设计,用于多域仿真、自动生成代码,以及嵌入式系统的测试和验证。
Matlab2017b新版功能
1、深度学习支持
Matlab2017b中的具体深度学习特性、产品和功能包括:
· Neural Network Toolbox增加了对复杂架构的支持,包括有向无环图(DAG)和长短期记忆(LSTM)网络,并提供对 GoogLeNet 等流行的预训练模型的访问。
· Computer Vision System Toolbox中的Image Labeler应用现在提供一种方便和交互的方式来标记一系列图像中的地面实况数据。除对象检测工作流程外,该工具箱现在还利用深度学习支持语义分割、对图像中的像素区域进行分类,以及评估和可视化分割结果。
·新产品GPU Coder可自动将深度学习模型转换为NVIDIA GPU的CUDA代码。内部基准测试显示,在部署阶段为深度学习模型产生的代码,比TensorFlow的性能提高7倍,比Caffe2的性能提高4.5倍。
与R2017a推出的功能相结合,可以使用预训练模型进行迁移学习,包括卷积神经网络(CNN)模型(AlexNet、VGG-16 和 VGG-19)以及来自Caffe的模型(包括Caffe Model Zoo)。可以从头开始开发模型,包括使用CNN进行图像分类、对象检测、回归等。
“随着智能设备和物联网的发展,设计团队面临创造更加智能的产品和应用的挑战,他们需要自己掌握深度学习技能或依赖其他具有深度学习专长但可能不了解应用场景的团队,”MathWorks的MATLAB市场营销总监David Rich表示,“借助R2017b,工程和系统集成团队可以将MATLAB拓展用于深度学习,以更好地保持对整个设计过程的控制,并更快地实现更高质量的设计。他们可以使用预训练网络,协作开发代码和模型,然后部署到GPU和嵌入式设备。使用MATLAB可以改进结果质量,同时通过自动化地面实况标记App来缩短模型开发时间。” 2、其他更新:
除深度学习外,R2017b 还包括其他关键领域的一系列更新,包括:
·使用MATLAB进行数据分析
o一款新Text Analytics Toolbox 产品、可扩展数据存储、用于机器学习的更多大数据绘图和算法,以及 Microsoft Azure Blob 存储支持
·使用Simulink进行实时软件建模
o对用于软件环境的调度效果进行建模并实现可插入式组件
·使用 Simulink 进行验证和确认
o用于需求建模、测试覆盖率分析和合规性检查的新工具
2、数据标注
对于计算机视觉来说,Computer Vision System Toolbox 中的 Ground Truth Labeler app 可提供一种交互式的方法半自动地标注一系列图像。除了目标检测与定位外,该工具箱现在还支持语义分割,它能对图像中的像素区域进行分类。陈建平说:「我们现在的标注工具可以直接半自动地完成任务,它可以像 Photoshop 中的魔棒工具一样自动标注出像素层级的类别,我们选中图片后工具会自动将对象抠出来。在我们完成初始化的图像语义分割后,工具会使用自动化的手段把后续行驶过程中的其它元素都抠出来。因为中间和后续过程都是以机器为主导完成的,所以我们只需要在前期使用少量的人力就能完成整个标注过程。」
这种半自动方法确实可以大大提升标注的效率,特别是标注车道边界线和汽车边界框等视觉系统目标。在这种自动标注框架下,算法可以快速地完成整个数据集的标注,而随后我们只需要少量的监督与验证就能构建一个精确的数据集。如下所示,MATLAB 文档向我们展示了如何创建车道线自动标注。
3、模型构建
在模型构建方面,Neural Network Toolbox 增加了对复杂架构的支持,包括有向无环图(DAG)和长短期记忆(LSTM)网络等,并提供对 GoogLeNet 等流行的预训练模型的访问方式。陈建平表示:「其实 MATLAB 在 2016 年的时候就已经支持一些深度学习模型,而现在不仅支持 VGGNet 和 GoogleNet 等流行的预训练模型,同时还支持使用 Caffe Model Importer 直接从 Caffe 中导入。」
因为我们可以直接从 Caffe Model Zoo 中导入各种优秀与前沿的模型,所以 MATLAB 在模型方面可以提供广泛的支持。但直接从 Caffe 中导入模型又会产生一个疑惑,即如果我们在 Python 环境下使用 Caffe 构建了一个模型,那么导入 MATLAB 是不是需要转写代码,会不会需要做一些额外的工作以完成导入?对此,陈建平解答到:「假设我们使用 Python 和 Caffe 完成了一个模型,并保存以 Caffe 格式,那么 Caffe Model Importer 会直接从保存的 Caffe 格式中读取模型。在这个过程中,Caffe 并不需要为 MATLAB 做额外的工作,所有的转换结果都是 MATLAB 完成的。」
在导入模型后,我们可以直接使用类似于 Keras 的高级 API 修改模型或重建模型。下面将简要介绍如何导入预训练 AlexNet,并修改完成迁移学习。
首先我们需要导入 AlexNet,如果 Neural Network Toolbox 中没有安装 AlexNet,那么软件会提供下载地址。net =alexnet;net.Layers
4、训练与推断
对于模型训练来说,最重要的可能就是能支持大规模分布式训练。因为目前的深度模型都有非常多的参数和层级,每一次正向或反向传播都拥有海量的矩阵运算,所以这就要求 MATLAB 能高效地执行并行运算。当然,我们知道 MATLAB 在并行运算上有十分雄厚的累积,那么在硬件支持上,目前其支持 CPU 和 GPU 之间的自动选择、单块 GPU、本地或计算机集群上的多块 GPU。此外,由于近来采用大批量 SGD 进行分布式训练的方法取得了十分优秀的结果,我们可以使用 MATLAB 调用整个计算机集群上的 GPU,并使用层级对应的适应率缩放(Layer-wise Adaptive Rate Scaling/LARS)那样的技术快速完成整个模型的训练。
在模型训练中,另外一个比较重要的部分就是可视化,我们需要可视化整个训练过程中的模型准确度、训练损失、验证损失、收敛情况等信息。当然 MATLAB 一直以来就十分重视可视化,在上例执行迁移学习时,我们也能得到整个训练过程的可视化信息。如下所示,上部分为训练准确度和验证准确度随迭代数的变化趋势,下部分为训练损失和验证损失随迭代数的变化趋势,该迁移学习基本上到第 3 个 epoch 就已经收敛。
对于推断来说,新产品 GPU Coder 可自动将深度学习模型转换为 NVIDIA GPU 的 CUDA 代码。内部基准测试显示,GPU Coder 产生的 CUDA 代码,比 TensorFlow 的性能提高 7 倍,比 Caffe2 的性能提高 4.5 倍。
5、模型部署
在 MATLAB 部署模型其实也很简单,MATLAB 很早就支持生成独立于其开发环境的其它语言,比如利用 MATLAB Coder 可以将 MATLAB 代码转换为 C 或 C++代码。而该最新版提供了新的工具 GPU Coder,我们能利用它将生成的 CUDA 代码部署到 GPU 中并进行实时处理,这一点对于应用场景是极其重要的。
Matlab2017b更新日志:
1.修复BUG,新版体验更佳
2.更改了部分页面
小编推荐:强烈推荐下载Matlab2017b,谁用谁知道,反正小编我已经用了。此外,联想网盘、kms激活、梦畅电脑闹钟、thinkvantage、adobe reader pdf阅读器也是不错的软件,欢迎点击下载体验!