本技术涉及计算机,尤其涉及一种推理加速卡算法部署方法、装置、电子设备及存储介质。
背景技术:
1、随着人工智能技术的不断发展,越来越多的目标检测及识别类算法得到应用。随着目标检测及识别类算法的应用场景的不断扩大,算法接入的视频路数不断增长,算法种类越来越多,需要的解码能力和算力越来越高。而近几年人工智能芯片技术不断发展,许多芯片厂家的推理加速卡进入市场且得到应用。但是不同厂家的推理加速卡优势侧重不同,分别适用于不同的具体功能,只依赖于单一厂家的推理加速卡进行目标检测及识别类算法的推理,效果差。
2、现有技术往往采用将不同厂家的推理加速卡组合使用的方式,利用不同推理加速卡各自的优势实现视频流图像的快速推理。但是,这种方式受不同推理加速卡的软件版本差异影响,存在软件版本冲突风险,推理效果差。
技术实现思路
1、本技术提供了一种推理加速卡算法部署方法、装置、电子设备及可读存储介质。通过将多个不同厂家的推理加速卡的运行环境形成不同的容器,并在宿主机或边缘节点中进行调用,实现了不同厂家的不同推理加速卡运行环境的隔离,解决了不同推理加速卡存在软件版本冲突,推理效果差的问题。
2、第一方面,本技术提供了一种推理加速卡算法部署方法,该方法包括:
3、获取推理加速卡算法部署请求,其中,所述推理加速卡算法部署请求包括视频流解码路数请求和算力需求请求;
4、根据所述视频流解码路数请求生成第一配置文件;
5、根据所述算力需求请求生成第二配置文件;
6、根据所述第一配置文件从预先设置的第一容器中调取对应的加速卡服务,根据所述第二配置文件从预先设置的第二容器中调取对应的加速卡服务,得到第一加速卡部署结果,其中,所述第一容器和所述第二容器对应的镜像相互独立。
7、可选的,本技术提供的推理加速卡算法部署方法还包括:
8、根据所述视频流解码路数请求确定视频流解码路数对应的推理加速卡型号和推理加速卡数量;
9、根据所述视频流解码路数对应的推理加速卡型号和推理加速卡数量加载第一镜像,其中,所述第一镜像预先设置所述视频流解码路数对应的推理加速卡的运行环境;
10、根据所述算力需求请求确定算力需求对应的推理加速卡型号和推理加速卡数量;
11、根据所述算力需求对应的推理加速卡型号和推理加速卡数量加载第二镜像,其中,所述第二镜像预先设置所述算力需求对应的推理加速卡的运行环境;
12、根据所述第一镜像生成所述第一容器,根据所述第二镜像生成所述第二容器。
13、可选的,本技术提供的推理加速卡算法部署方法还包括:
14、根据所述视频流解码路数请求对应的视频流地址、所述视频流解码路数对应的推理加速卡型号和推理加速卡数量生成所述第一配置文件。
15、可选的,本技术提供的推理加速卡算法部署方法还包括:
16、将所述推理加速卡的运行环境放置在多个相互独立的镜像中,得到多个中间镜像;
17、将所述推理加速卡的服务功能分别封装为多个超文本传输协议服务;
18、将多个所述超文本传输协议服务发布对应的所述中间镜像对应的端口,得到所述第一镜像和所述第二镜像。
19、可选的,本技术提供的推理加速卡算法部署方法还包括:
20、根据所述视频流算法部署请求生成第三配置文件;
21、根据所述第一配置文件从所述第一容器中调取对应的加速卡服务,根据所述第二配置文件从所述第二容器中调取对应的加速卡服务,根据所述第三配置文件从预先设置的第三容器中调取对应的加速卡服务,得到第二加速卡部署结果,其中,所述第一容器、所述第二容器、所述第三容器对应的镜像相互独立。
22、可选的,本技术提供的推理加速卡算法部署方法还包括:
23、将所述推理加速卡解码功能封装为第一超文本传输协议服务;
24、将所述获取解码后的图片数据功能封装为第二超文本传输协议服务;
25、将所述推理加速卡解码停止功能封装为第三超文本传输协议服务;
26、将所述算法模型初始化功能封装为第四超文本传输协议服务;
27、将所述算法推理功能封装为第五超文本传输协议服务;
28、将所述算法停止功能封装为第六超文本传输协议服务。
29、可选的,本技术提供的推理加速卡算法部署方法还包括:
30、根据所述第一配置文件,从所述第一容器通过所述第一超文本传输协议服务调用所述推理加速卡解码功能对视频流进行解码处理,得到解码处理结果;
31、根据所述第二配置文件,从所述第二容器通过所述第四超文本传输协议服务调用所述模型初始化服务,进行算法模型加载;
32、根据所述第一配置文件,从所述第一容器通过所述第二超文本传输协议服务调用所述获取解码后的图片数据功能,从所述解码处理结果中获取图片;
33、根据所述第二配置文件,从所述第二容器调用所述推理加速卡的服务功能,根据所述第三配置文件,从所述第三容器调用算法运行的服务功能;
34、根据所述推理加速卡的服务功能配合所述算法运行的服务功能对所述图片进行推理,得到第二加速卡部署结果。
35、第二方面,本技术还提供一种推理加速卡算法部署装置,包括:
36、部署请求获取模块,用于获取推理加速卡算法部署请求,其中,所述推理加速卡算法部署请求包括视频流解码路数请求和算力需求请求;
37、第一配置文件生成模块,用于根据所述视频流解码路数请求生成第一配置文件;
38、第二配置文件生成模块,用于根据所述算力需求请求生成第二配置文件;
39、第一加速卡部署模块,用于根据所述第一配置文件从预先设置的第一容器中调取对应的加速卡服务,根据所述第二配置文件从预先设置的第二容器中调取对应的加速卡服务,得到第一加速卡部署结果,其中,所述第一容器和所述第二容器对应的镜像相互独立。
40、第三方面,本技术还提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的推理加速卡算法部署方法的步骤。
41、第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的推理加速卡算法部署方法的步骤。
42、本技术提供的技术方案中,由于本技术中不同推理加速卡的容器相互独立,实现了不同厂家的不同推理加速卡运行环境的隔离,从而避免了在一台服务器中同时调用多个推理加速卡组合运行时存在的软件版本冲突问题,保障了不同厂家推理加速卡组合后的正常部署效果。
43、并且,由于不同厂家的推理加速卡的运行环境相互隔开,用户可以根据自身需求任意组合多种推理加速卡,进行目标检测或识别类算法的应用,提高了推理加速卡的使用灵活性,用户能够根据自身实际的解码路数和算力要求,选取合适的推理加速卡进行算法部署及应用,节省了推理加速卡的部署成本。
44、上述说明仅是本技术提供的技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。