深度学习在Simulink NVI金宝appDIA GPU:生成CUDA代码使用GPU编码器
金宝app®是设计复杂系统的可靠工具,包括决策逻辑和控制器、传感器融合、车辆动力学和3D可视化组件。
从版本2020b开始,您可以将深度学习网络合并到您的Simulink模型中,以执行系统级模拟和部署。金宝app
学习如何在NVIDIA的Simulink中使用基于YOLO v2的深度学习网络运行车道和车辆检测器的模拟金宝app®gpu。Simu金宝applink模型包括预处理和后处理组件,用于执行调整传入视频大小、检测坐标和在检测到的车辆周围绘制边界框等操作。使用相同的Simulink模金宝app型,您可以使用cuDNN或TensorRT生成优化的CUDA代码,以针对gpu,如NVIDIA Tesla®以及NVIDIA Jetson®平台。
金宝appSimulink是一个值得信赖的工具,用于设计复杂系统,包括决策逻辑、控制器、传感器融合、车辆动力学和3D可视化组件。从版本2020b开始,您可以将深度学习网络合并到您的Simulink模型中,以执行系统级模拟和部署。金宝app如果我们看一下车辆和车道检测子系统,我们会在顶部和底部看到两个深度学习网络的使用。我们的输入视频会进来,然后我们会做一些预处理来调整图像的大小,然后我们把它输入我们的车道检测网络。
这里,你可以看到这是由一个数学文件带入的我们的MATLAB目录。我们将做一些后处理来检测左数右车道的坐标,最后我们将做一些注释来突出显示车辆和车道。底层的深度学习网络正在检测车辆,它基于YOLOv2。再一次,你可以看到这是从目录中的mat文件中加载的。回来,我们可以进行模拟。你可以看到左边是我们的输入视频,右边是我们的输出视频,我们用绿色标记突出显示了左右车道。然后我们在我们看到的车辆周围开着黄色的边界框。在这一点上,我们已经准备好继续生成代码,以便我们可以启动Simulink编码器或嵌入式代码包装。金宝app
让我们先看看代码生成设置。在这里,您将看到我们使用了正确的系统目标文件,并且选中了这里的复选框以生成CUDA代码。我们还可以看看深度学习库。在这种情况下,我们可以选择cuDNN或TensorRT,所以我们现在将保留cuDNN。对于工具链设置,我们使用NVIDIA的CUDA工具包。最后,对于非深度学习部分,我们使用优化的库,如cuBLAS、cuSOLVER和cuFFT。
我们都准备好了,让我们继续生成代码。这里是代码生成报告,您可以在左侧看到生成的文件。我们先来看阶跃函数。下面这里,你可以看到cudaMalloc调用它在GPU内存上分配变量。这里,我们有cudaMemcpy,它把数据从CPU内存复制到GPU内存,然后在正确的位置复制回来。这里,有几个GPU内核被推出来加快GPU内核的速度。我们也有两个深度学习网络。这是我们的第一个,LaneNet。你可以在这里看到所有的公共和私有方法。这里我们有设置,预测,清理,以及其他几个。
这是我们的第二个深度学习网络,这是使用YOLOv2的车辆检测器。同样,我们有相同的方法。如果我们查看setup方法的内部,你可以看到在程序开始时运行一次的代码,以将深度学习网络加载到内存中。如果你看这里,我们一次只浏览一层,我们在浏览的时候载入权重和偏差。以上就是使用深度学习网络的Simulink模型生成CUDA代码的简单介绍。金宝app欲了解更多信息,请查看下面的链接。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。