主要内容

在Simulink中分类和更新网络状态金宝app

这个例子展示了如何在Simulink®中为训练好的循环神经网络分类数据金宝app有状态的分类块。本例使用预训练的长短期记忆(LSTM)网络。

负荷预训练网络

负载JapaneseVowelsNet,一个预先训练的长短期记忆(LSTM)网络,在日语Vowels数据集上训练,如[1]和[2]所述。该网络在按序列长度排序的序列上训练,迷你批大小为27。

负载JapaneseVowelsNet

查看网络结构。

analyzeNetwork(净);

负载测试数据

加载日语元音测试数据。XTest是包含370个不同长度的12维序列的单元格数组。tt是标签“1”,“2”,…“9”,对应9个说话者。

创建时间表数组思敏有时间戳的行和重复的X

[XTest,TTest] =日本evowelstestdata;X = XTest{94};numTimeSteps = size(X,2);simin =时间表(repmat(X,1,4)',“步伐”秒(0.2));

金宝app数据分类的Simulink模型

用于数据金宝app分类的Simulink模型包含一个有状态的分类块来预测标签和从工作空间块在时间步骤中加载输入数据序列。

为了在模拟过程中将递归神经网络的状态重置为初始状态,将有状态的分类块中的复位子系统并使用重置控制信号作为触发器。

open_system (“StatefulClassifyExample”);

配置仿真模型

的模型配置参数有状态的分类块。

set_param (“StatefulClassifyExample /状态分类”“NetworkFilePath”“JapaneseVowelsNet.mat”);set_param (“StatefulClassifyExample”“SimulationMode”“正常”);

运行模拟

计算的响应JapaneseVowelsNet网络,运行模拟。预测标签保存在MATLAB®工作空间中。

Out = sim(“StatefulClassifyExample”);

在阶梯图中绘制预测的标签。图表显示了预测如何在时间步骤之间变化。

标签=挤压(out.YPred.Data(1:numTimeSteps,1));图楼梯(标签,“o”xlim([1 numTimeSteps])“时间步”) ylabel (“预测阶级”)标题(“按时间步骤分类”

将预测结果与真实标签进行比较。画一条水平线来表示观测的真实标记。

trueLabel = double(TTest(94));持有line([1 numTimeSteps],[trueLabel trueLabel],...“颜色”“红色”...“线型”“——”)传说([“预测”“真正的标签”[1 numTimeSteps+1 0 9]);

参考文献

[1]工藤M.,富山J.,辛波M.。“使用穿过区域的多维曲线分类”模式识别信.第20卷,11-13号,第1103-1111页。

[2]UCI机器学习库:日语元音数据集.https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels

另请参阅

|||

相关的话题