Matlab R2017b是Matlab R2017a的升级,这是由MathWorks公司推出的一款商业数学软件,也是全球较为经典的数学软件之一。,软件集合了数值分析、工程与科学绘图、数字图像处理等功能,比起之前的版本新增了时间表数据容器、新的工具箱Risk Management Toolbox等,可以让数据处理更加地快速高效。可以广泛地应用于算法开发、数据分析、数据可视化、数值计算等多个领域,有需要的用户欢迎随时来本站下载。
基本介绍
Matlab 2017b分为Matlab和Simulink两大部分,其中Simulink是一个基于Matlab的框图设计环境,它主要是提供一个动态系统的建模、仿真和综合分析的集成环境,在这个环境中,用户无需大量的书写程序,只需通过简单的鼠标操作即可构建出一个及其复杂的系统,Simulink支持用户用连续采样时间、离散采样时间或两种混合的采样时间进行建模,支持多率系统,也就是系统中的不同部分具有不同的采样速率,同时为了更方便用户创建出优秀的动态系统模型,它提供了一个建立模型方块图的图形用户接口,在这个创建的过程中用户仅需击和拖动鼠标操作就能完成。Matlab是有一系列的工具组成而成,这些工具基本上全部采用图形用户界面,包括桌面和命令窗口、历史命令窗口、编辑器和调试器、工作空间、文件的浏览器等,同时它包括了大量计算算法的几何,用户可在数学运算中使用超过600多个的数学运算函数,基本上可很方便的就实现用户所需的各种计算功能。
软件特色
一、数百万工程师和科学家信赖 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 配合以支持基于模型的设计,用于多域仿真、自动生成代码,以及嵌入式系统的测试和验证。
新增功能
1、深度学习支持
R2017b中的具体深度学习特性、产品和功能包括:
· 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
上面的语句将导入 AlexNet,并如下所示展示整个 CNN 的神经网络架构。其中 MATLAB 会展示所有的操作层,每一层都给出了层级名、操作类型和层级参数等关键信息。例如第二个操作层『conv1』表示一个卷积运算,该运算采用了 96 个卷积核,每一个卷积核的尺寸为 11×11×3、步幅为 4,该卷积运算采用了padding。
这种描述不仅有利于我们了解整个神经网络的架构,同时还有助于调整架构以匹配特定的任务。由上可知最后的全连接层、softmax 层和分类输出层是与 ImageNet 任务相关联的配置,因此我们需要去除这三个层级并重新构建与当前任务相关联的层级。MATLAB 可以十分简洁地实现这一过程:layersTransfer =net.Layers(1:end-3);numClasses =numel(categories(trainingImages.Labels))layers =[layersTransferfullyConnectedLayer(numClasses,'WeightLearnRateFactor',20,'BiasLearnRateFactor',20)softmaxLayerclassificationLayer];
由上面的代码可知我们只提取了 AlexNet 预训练模型的前 22 层,而后依次新建了全连接层、softmax 层和分类输出层。完成整个层级重构后,剩下的就只需使用以下代码训练新的模型。其中 trainingImages 为当前任务的训练样本、layers 为前面修正的层级,而 options 是我们设置的一组训练参数,包括优化算法、最小批量大小、初始化学习率、绘制训练过程和验证集配置等设定。
由上,我们发现 MATLAB 的深度学习代码非常简洁,调用高级 API 能快速完成模型的搭建。陈建平说:「MATLAB 上的高级 API 是一个完整的体系,它们完全是针对深度学习而设计的。当然我们还是会用基础的运算,因为 MATLAB 这么多年的累积可以充分体现在基础运算上,但是深度学习这一套高级 API 确实是新设计的。」
其实不只是 AlexNet,很多 Caffe 模型都能够导入到 MATLAB。那么,MATLAB 为什么会选择 Caffe 作为对接的深度学习框架,而不是近来十分流行的 TensorFlow?
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 中并进行实时处理,这一点对于应用场景是极其重要的。
安装教程
1、下载并解压本站提供的MATLAB2017b破解版安装包,载入右键解压或者使用虚拟光驱载入安装镜像
2、选择“使用文件安装秘钥”点击下一步
3、阅读以下协议,允许用户协议,选择“是”点击下一步
4、选择“我已有我的许可证的文件安装秘钥”,输入序列号“09806-07443-53955-64350-21751-41297”
5、选择安装目录,可以点击浏览,自己选择安装位置
6、选择安装的功能,默认即可
7、确认安装信息,点击安装,等待安装完成
8、安装完成点击下一步完成配置
9、安装完成后,打开破解文件夹“patch”,将将破解补丁复制到安装目录覆盖源文件
将:“libmwlmgrimpl.dll”复制到MATLABR2017bbinwin64matlab_startup_pluginslmgrimpl目录下覆盖源文件
将:“license_R2017b.lic”复制到MATLABR2017blicenses目录下
10、安装完成,运行桌面快捷方式就可以体验新版MATLAB2017带来的魅力了
常用函数
一、整数
fix(x):无论正负,舍去小数至相邻整数
floor(x):下取整,即舍去正小数至相邻整数
ceil(x):上取整,即加入正小数至相邻整数
rat(x):将实数x化为多项分数展开
rats(x):将实数x化为分数表示
sign(x):符号函数(Signum function)。
当x<0时,sign(x)=-1
当x=0时,sign(x)=0;
当x>0时,sign(x)=1。
rem(x,y):求x除以y的余数
gcd(x,y):整数x和y的最大公因数
lcm(x,y):整数x和y的最小公倍数
exp(x) :自然指数
pow2(x):2的指数
log(x):以e为底的对数,即自然对数或
log2(x):以2为底的对数
log10(x):以10为底的对数
二、三角函数
sin(x):正弦函数
cos(x):余弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反余弦函数
atan(x):反正切函数
atan2(x,y):四象限的反正切函数
sinh(x):双曲正弦函数
cosh(x):双曲余弦函数
tanh(x):双曲正切函数
asinh(x):反双曲正弦函数
acosh(x):反双曲余弦函数
atanh(x):反双曲正切函数
三、适用于向量的常用函数
min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
mean(x): 向量x的元素的平均值
median(x): 向量x的元素的中位数
std(x): 向量x的元素的标准差
diff(x): 向量x的相邻元素的差
sort(x): 对向量x的元素进行排序(Sorting)
length(x): 向量x的元素个数
norm(x): 向量x的欧氏(Euclidean)长度
sum(x): 向量x的元素总和
prod(x): 向量x的元素总乘积
cumsum(x): 向量x的累计元素总和
cumprod(x): 向量x的累计元素总乘积
dot(x, y): 向量x和y的内积
cross(x, y): 向量x和y的外积
四、绘图函数
plot: x轴和y轴均为线性刻度(Linear scale)
loglog: x轴和y轴均为对数刻度(Logarithmic scale)
semilogx: x轴为对数刻度,y轴为线性刻度
semilogy: x轴为线性刻度,y轴为对数刻度
plot绘图函数的参数
字元颜色 字元图线型态
y 黄色. 点
k 黑色o 圆
w 白色x x
matlab插值和样条
matlab插值和样条
b 蓝色+ +
g 绿色* *
r 红色
- 实线
c 亮青色
: 点线
m 锰紫色
-. 点虚线
-- 虚线
软件评论 您的评论需要经过审核才能显示
网友评论