使用深度学习实现自动光学检查
第 5 章
部署模型
成功开发和训练深度学习模型之后,接下来就要将其整合到更大的系统中以投入使用。
MATLAB 可帮助您将深度学习网络从单一源部署至各类嵌入式硬件平台,如 NVIDIA® GPU、Intel® 与 Arm® CPU、FPGA 或 SoC 设备,还可部署至云或边缘设备,且无需重写原始模型代码。
显然,您需要选择最符合您的功耗与内存占用量要求的部署选项,在此过程中需要有所取舍。举个例子,一个需要考虑的重要因素是延迟。如果光学系统使用高速相机,您可能会要求低延迟,尤其是在强调安全性的情形下。
部署选项对比
| 设备 | 优点 | 缺点 |
| FPGA | 低延迟,低功耗 | 编程困难 |
| CPU | 编程简单灵活 | 吞吐量最低 |
| GPU | 吞吐量最高 | 高功耗 |
确定部署选项后,您可在 MATLAB 中进行试用,了解其实际性能。如果想在 FPGA 上进行部署,您可以适当更改网络以满足性能要求,然后重新运行,而且这些操作都可以在 MATLAB 中完成。比如在六角螺母的例子中,由于其中涉及的图像较为简单,您可移除一些卷积层以简化网络。或者,您也可以实施定点量化,这可以提升性能并降低延迟,但可能会牺牲一些准确度。