深度学习仿真软件的NVIDIA gpu: ECG信号的分类
学习如何使用GPU编码器™模型®设计、验证和深度学习应用程序部署到一个NVIDIA杰森®董事会。看到如何使用先进的信号处理和深层神经网络对ECG信号进行分类。启动工作流之前桌面CPU上运行模拟切换到桌面的GPU加速。一旦完成仿真结果满足您的要求,在桌面上使用software-in-the-loop测试GPU和杰森董事会processor-in-the-loop测试数值验证生成的CUDA®代码匹配仿真软件仿真结果。最后,部署完整的应用程序代码优化的CUDA的杰森。
在这个演示中,我们使用深度学习分类心电图数据来确定一个人是否患有心律失常或充血性心力衰竭。我们执行这个分类使用pretrained深度学习网络和仿真软件,然后生成和完整的应用程序部署到一个杰森。
这个示例的工作流有四个部分。首先,我们将在一个CPU上运行桌面仿真,然后使用桌面和媒体GPU加速。然后我们将验证生成的代码通过运行software-in-the-loop测试桌面GPU。我们将更进一步验证生成的目标代码进行processor-in-the-loop测试杰森董事会。最后,我们需要一个完整的应用程序,生成CUDA代码并运行它在杰森AGX泽维尔。
让我们来快速浏览一下仿真软件模型。有多个子系统,从左边开始,输入数据是心电图数据获得患者心律失常,充血性心力衰竭,正常窦性心律。心电图预处理子系统对输入数据和输出执行连续小波变换的图像和时间频率表示。这些图像会经过处理,输入pretrained网络对心电图的波形进行分类。
使用深度学习网络和仿真软件,我们可以使用块从深度学习库或增强的MATLAB函数块。对于本例,我们使用图像分类器块代表pretrained SqueezeNet。心电图后处理子系统然后发现标签基于预测评分的ECG信号从SqueezeNet和输出量图的图像标签印刷和信心得分。
让我们继续,开始仿真。我们目前在CPU上运行模拟,我们可以看到SqueezeNet能够分类数据和显示信心的分数。执行时间是9.2秒。我们可以用自己的桌面和视频GPU加速模拟。在模拟目标配置设置,选择GPU加速复选框和设置深度学习目标库cuDNN。使用这些设置,仿真软件的仿真软件将识别并运行部分模型,包括GPU上的深入学习网络。
让我们继续和运行模拟。我们看到相同的结果,但是有好的提升速度。使用GPU执行时间约为2.6秒,大约是常人速度的三倍比仅使用CPU。现在我们满意的仿真结果,让我们搬到硬件上部署算法。
我们可以做的第一个步骤是数值验证生成的代码的行为匹配的模拟。要做到这一点,我们将运行software-in-the-loop测试。让我们第一组预处理,pretrained深学习网络,和后处理部分为一个子系统。这将使运行SIL容易。
执行software-in-the-loop测试,硬件实现选项卡并配置设置,设置硬件板没有,设置设备细节以匹配您的主机。在我们的例子中,主机有一个64位的英特尔处理器。创建一个包含生成的单元块CUDA代码,去代设置和启用复选框生成GPU代码。然后导航到验证选项卡在代码生成,和先进的参数下,设置为创建块银的选项。
让我们继续,生成子系统的CUDA代码包含pretrained网络。构建过程是成功的,在模拟创建一个硅块。银块运行生成的CUDA代码作为单独的进程在英特尔处理器和桌面GPU。现在,让我们
把这个银块与前一个仿真软件模型与NVIDIA与桌面仿真子系统为便于比较。在模拟仿真软件模型与SIL的设置中,我们看到,分类结果与桌面模拟。
生成的代码在主机CPU和GPU验证,让我们进入下一个步骤,我们验证了发电机在NVIDIA杰森董事会目标代码。processor-on-the-loop运行测试,硬件实现选项卡并配置设置和设置硬件板NVIDIA杰森。从那时起,在目标硬件资源,指定参数,如设备地址,用户名和密码所以仿真软件可以访问它。创建一个公益诉讼CUDA包含生成的目标代码块,导航到验证选项卡下代码生成设置。在先进的参数,设置创建块下拉到公益诉讼。
配置这些设置,让杰森的构建和部署。我们可以看到,部署过程是成功的,一个公益诉讼块被创建。在仿真中,公益诉讼块下载和运行在目标硬件对象代码。现在让我们把这个公益诉讼块与以前的仿真软件模型。在模拟仿真软件模型与公益诉讼,我们看到完整的应用程序运行在杰森,结果匹配与桌面模拟和SIL模式。
既然我们已经验证生成的代码在主机和目标,我们只能gdp8 % NVIDIA杰森委员会独立的完整的应用程序执行。当生成代码,我们可以设置GPU使用NVIDIA的CUDA优化图书馆的最佳性能。深入学习网络,cuDNN和TensorRT都支持。其余的算法、cuBLAS cuFFT cuSOLVER和其他CUDA库会自动使用。
让我们坚持的默认设置的例子。硬件板设置为NVIDIA杰森和构建配置设置为构建和运行,让我们继续,点击构建、部署和启动按钮。在这里,你可以看到的输出诊断查看器显示我们有编译的应用程序和运行在杰森泽维尔。这里的SDL视频显示流的输出杰森。我们可以看到显示的结果与仿真结果相匹配。
我们快速回顾工作流紧随其后的分类ECG信号的例子。我们开始与桌面模拟CPU,展示了如何使用桌面GPU加速它。我们在桌面然后验证生成的网络代码CPU和GPU执行software-on-the-loop测试。我们也跑processor-on-the-loop测试来验证所生成的目标代码在我们的杰森。最后,我们完整的分类应用程序部署到杰森在独立执行模式,观察输出。
您可以执行类似的工作流使用GPU CUDA验证深度学习和部署应用程序的仿真软件。有关更多信息,看一下下面的链接。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。