| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> matlab深度学习基本操作,深度学习讲解,源代码分享,用一用改一改随便发篇EI -> 正文阅读 |
|
[人工智能]matlab深度学习基本操作,深度学习讲解,源代码分享,用一用改一改随便发篇EI |
神经网络工具箱?提供了算法、预训练模型和应用程序来创建、训练、可视化和模拟浅层和深层神经网络。您可以执行分类、回归、聚类、降维、时间序列预测以及动态系统建模和控制。 深度学习网络包括卷积神经网络(ConvNets, CNNs)、有向无环图(DAG)网络拓扑,以及用于图像分类、回归和特征学习的自动编码器。对于时间序列分类和回归,工具箱提供了长期短期记忆(LSTM)深度学习网络。您可以可视化中间层和激活,修改网络架构,并监控培训进度。 对于小的训练集,您可以通过使用预先训练的深度网络模型(包括Inception-v3、ResNet-50、ResNet-101、GoogLeNet、AlexNet、vg -16和vg -19)和TensorFlow?-Keras或Caffe导入的模型进行迁移学习,快速应用深度学习。 为了加速大型数据集的训练,您可以在桌面上的多核处理器和GPU(使用并行计算工具箱?)上分布计算和数据,或者扩展到集群和云,包括Amazon EC2?P2、P3和G3 GPU实例(使用MATLAB?分布式计算服务器?)。 关于深度学习方法的免费实践介绍,请参阅deep learning Onramp。 10行MATLAB?代码实现深度学习 如果需要,运行这些命令获取下载,连接到网络摄像头,并获得预先训练的神经网络。 如何使用预先训练的深度卷积神经网络GoogLeNet对图像进行分类。 GoogLeNet已经对超过100万张图片进行了训练,并可以将图片分类为1000个对象类别(比如键盘、咖啡杯、铅笔和许多动物)。该网络为广泛的图像学习了丰富的特征表示。该网络以图像作为输入,并输出图像中对象的标签以及每个对象类别的概率。 这个例子展示了如何使用迁移学习再训练AlexNet,一个预处理卷积神经网络,分类一组新的图像。试试这个例子,看看在MATLAB?中开始深度学习有多简单。 迁移学习是深度学习应用中常用的一种学习方法。你可以把一个预先训练过的网络作为学习新任务的起点。用迁移学习对网络进行微调通常比用随机初始化的权值从零开始训练网络要快得多,也容易得多。你可以使用少量的训练图像快速地将学习到的特征转移到一个新的任务中。 加载数据 unzip(‘MerchData.zip’); 加载Pretrained网络 然后又是一个下载安装alexnet的过程。图像处理跳过。 我想要的分类来了,详细介绍。 这个例子演示了如何: 加载和浏览图像数据。
labelCount =
accuracy = sum(YPred == YValidation)/numel(YValidation)
开始详解: 计算每个类别中图像的数量。labelCount是一个包含标签和拥有每个标签的图像数量的表。数据存储包含1000个图像,用于0-9的每个数字,总共是10000个图像。可以通过OutputSize参数指定网络中最后一个完全连接层中的类数量。
imageInputLayer是指定图像大小的地方,在本例中是28 * 28 * 1。这些数字对应于高度、宽度和通道大小。数字数据由灰度图像组成,所以通道大小(颜色通道)为1。对于彩色图像,通道大小为3,对应RGB值。您不需要打乱数据,因为默认情况下,trainNetwork在训练开始时打乱数据。 在卷积层中,第一个参数是filterSize,它是训练函数在沿着图像扫描时使用的过滤器的高度和宽度。在本例中,数字3表示过滤器大小为3 × 3。您可以为过滤器的高度和宽度指定不同的大小。第二个参数是过滤器的数量numFilters,它是连接到输入的同一区域的神经元的数量。该参数决定特性映射的个数。使用’Padding’名称-值对向输入特性映射添加Padding。对于大小为3的过滤器,填充1确保空间输出大小与输入大小相同。您还可以使用convolution2dLayer的名称-值对参数来定义这个层的Stride和学习速率。 批归一化层批归一化层对通过网络传播的激活和梯度进行了归一化,使网络训练成为一个更容易求解的优化问题。在卷积层和非线性层之间使用批处理归一化层,如ReLU层,以加快网络训练,降低对网络初始化的敏感性。使用batchNormalizationLayer创建一个批处理规范化层。 ReLU层batch normalization层之后是一个非线性激活函数。最常见的激活函数是整流线性单元(ReLU)。使用reluLayer创建一个ReLU层。 Convolutional Layer (with activation functions)有时会跟随一个down-sampling operation来减小feature map的空间大小并移除冗余的空间信息。降采样使得在更深的卷积层中增加滤波器的数量成为可能,而不需要增加每层所需的计算量。降采样的一种方法是使用最大池,它是使用maxPooling2dLayer创建的。最大池化层返回输入矩形区域的最大值,由第一个参数poolSize指定。本例中矩形区域的大小为[2,2]。“Stride”名称-值对参数指定了训练函数沿输入扫描时使用的步长。 全连接层卷积层和下采样层之后是一个或多个全连接层。顾名思义,完全连接层是指神经元与前一层的所有神经元相连的一层。这一层结合了前一层在图像中学习到的所有特征来识别更大的模式。最后一个全连通层将特征结合起来对图像进行分类。因此,最后一个完全连接层中的OutputSize参数等于目标数据中的类数量。在本例中,输出大小为10,对应于10个类。使用fulllyconnectedlayer创建一个完全连接的层。 Softmax层Softmax激活功能使全连接层输出正常。softmax层的输出由求和为1的正数组成,这些正数可以被分类层用作分类概率。在最后一个完全连接的层之后,使用softmaxLayer函数创建一个softmax层。 最后一层是分类层。这一层使用每个输入的softmax激活函数返回的概率来将输入分配给一个互斥的类并计算损失。要创建一个分类层,使用classificationLayer。 训练进度图显示了小批损失和准确性以及验证损失和准确性。有关培训进度图的更多信息,请参见监控深度学习培训进度。损失是k个互斥类的交叉熵函数。正确率是指网络正确分类图像的百分比。 分类验证图像和计算精度 accuracy = sum(YPred == YValidation)/numel(YValidation) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:24:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |