AI人工智能(调包侠)速成之路十五(中国象棋AI网络机器人:AI模型部署)

神经网络模型动态加解密的技术这个以后再写吧

 书接上文:

AI人工智能(调包侠)速成之路十四(中国象棋AI网络机器人:AI技术综合应用实现)

神经网络模型的存储格式

        我们训练的神经网络就是一堆模拟神经元的参数集合,给(他/她/它)一个输入信息就会得到一个经过训练后的输出信息。训练好的神经网络模型最终都需要保存和传递给他人使用,那么如何保存网络结构和每个参数的数值就需要设计一套规范的存储格式。

        具体使用哪种格式取决于你的项目需求和所使用的深度学习框架。以下是一些常见的模型保存格式:

HDF5 格式(.h5 或 .hdf5):

这是一种常见的模型保存格式,可以存储模型的权重、结构和配置。

SavedModel 格式:

SavedModel 是 TensorFlow 的另一种模型保存格式,它包括了模型的权重、结构和配置,同时也包括了运行时所需的信息。

ONNX 格式:

ONNX(Open Neural Network Exchange)是一个用于表示神经网络模型的开放式标准,可以在不同的深度学习框架之间进行模型转换。

PyTorch 格式(.pt 或 .pth):

在 PyTorch 中,你可以使用 torch.save(model.state_dict(), ‘model.pth’) 将模型的权重保存为.pt或.pth文件,同时也可以保存整个模型。

TensorFlow Lite 格式:

适用于在移动设备和嵌入式设备上部署模型的格式。可以使用 TensorFlow 提供的转换工具将模型保存为 TensorFlow Lite 格式。

 神经网络推理框架

模型推理部署框架 应用平台 贡献者
NCNN 移动端 腾讯公司开发的移动端平台部署工具
OpenVINO CPU,GPU,嵌入式平台都可以使用,尤其是在CPU上首选OPenVINO。DepthAI嵌入式空间AI平台。 Intel公司针对自家设备开开发的部署工具
TensorRT 只能用在NIVDIA的GPU上的推理框架。NIVDIA的Jetson平台。 NVIDIA公司针对自家GPU开发的部署工具
Mediapipe 服务端,移动端,嵌入式平台,TPU Google针对自家硬件设备和深度学习框架开发的部署工具
ONNXRuntime
可以运行在多平台 (Windows,Linux,Mac,Android,iOS) 上的一款推理框架,它接受 ONNX 格式的模型输入,支持 GPU 和 CPU 的推理
由微软、亚马逊 、Facebook 和 IBM 等公司共同开发的开放神经网络交换格式

神经网络推理模型

        神经网络推理模型是使用推理框架提供的工具将训练好的神经网络模型转换成对应的推理模型。转换是单向的,转换步骤一般包括 压缩、裁剪、精确度量化等。就像曾经的我们经过书山题海的训练,最后轻装上阵带着一直2B铅笔走进考场……。

 

神经网络推理模型部署

        将神经网络推理框架的接口和转换后的神经网络推理模型一起打包发布到客户终端。这里有个难点是推理框架和使用的推理硬件是有深度绑定的,而客户手上的硬件各有不同……。

        解决上面的问题有两个不同的解决方法,一个是发布不同硬件版本的部署产品,一个是在客户的设备上进行一次神经网络推理模型的生成。

        如果选择第一个方法,需要发布很多硬件版本,很难覆盖到千差万别的客户终端。如果选择第二个方法,又会遇到新问题就是不想把自己辛苦训练的神经网络模型暴露给其他人,只想提供推理模型。那么又出来一个模型动态加解密的技术……。

        解决一个问题总是会产生更多的问题而且永无止境,这就是学海无涯的意思吧。

 

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/088bb0c179.html