[发明专利]基于图形渲染管线的模型推理方法、装置及存储介质在审
申请号: | 201910730619.0 | 申请日: | 2019-08-08 |
公开(公告)号: | CN112348732A | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 石鑫栋;王术;吴江铮;陆明伟 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06T11/40;G06N5/04 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 徐静;刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 图形 渲染 管线 模型 推理 方法 装置 存储 介质 | ||
本申请提供一种基于图形渲染管线的模型推理方法、装置及存储介质,该方法包括获取渲染线程中的指令流;从指令流中提取并保存纹理数据信息,纹理数据信息包括纹理数据;将纹理数据信息输入至图形处理器GPU渲染管线中,GPU渲染管线用于对纹理数据进行基于GPU模型的推理,得到纹理数据的推理结果,GPU模型为在GPU中运行的模型。实现了对纹理数据的模型推理,避免了纹理数据与其他形式数据类型的转换,进而减少了IO内存开销。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于图形渲染管线的模型推理方法、装置及存储介质等。
背景技术
随着移动终端上硬件设备的不断迭代,有越来越多的移动应用集成了人工智能(ArtificialIntelligence,AI)功能,使得移动终端更加智能,为用户提供更自然,更人性化的服务。在图像和视频方面,人脸识别、场景识别、文字识别、图像超分辨率等应用,为移动终端提供了安全解锁、阅读检索和视频美化等核心功能支持。而AI功能基础通常依赖于神经网络的推理平台,随之在硬件算力承载上,也从中央处理器(Central ProcessingUnit,CPU)、图形处理器(Graphics Processing Unit,GPU)至神经网络处理器(NeuralProcessing Unit,NPUGPU)不断地演进。为了实现使用神经网络处理器(NeuralProcessing Unit,NPU)对视频流数据的AI处理,在当前ARM(Advanced RISC Machines)架构下,通常所有的处理器均采用统一的双倍数据速率(Double Data Rate,DDR)存储空间。图1是本申请提供的ARM框架下统一寻址的示意图,如图1所示,CPU、GPU、NPU存在各自对应的内存地址段,对于视频流数据而言,在显示时数据是在GPU地址段,需要视频流数据发送至NPU地址段进行对应的模型推理计算,最后再输出送回GPU地址段进行显示。如图1所示,GPU中的帧数据1(例如帧数据)发送至NPU的过程中,需要经过CPU先将GPU地址段中的帧数据读出来,即数据2,再将读出来的数据2拷贝到NPU地址段,即数据3。类似地,在将经过NPU推理计算后的数据3’再送回GPU显示的过程,需要将数据3’经过CPU读出来即数据2’,然后将数据2’拷贝至GPU地址段,即数据1’,以实现对视频流数据的AI处理和显示。上述过程中,对于每一帧的数据都需要产生多次搬运,对输入输出(Input Output,IO)开销较大。
现有技术中,为了减少IO开销,除了NPU作为移动终端模型推理计算的算力之外,业界也有使用CPU/GPU用于模型推理计算。相比较而言,GPU会比CPU更适合做并行计算的模型推理计算。TensorFlow Lite是常用的针对移动设备的模型推理框架,TensorFlow Lite是基于TensorFlow,通过相应的转换器(converter)能将对应的TensorFlow模型转化成TensorFlow Lite对应的模型,以TensorFlow Lite基于GPU的实现为例,输入到GPU可访问的数据形式必须为着色器存储缓冲区对象(Shader Storage Buffer Object,SSBO)类型,因为其在GPU的推理计算是基于Compute shader来实现,SSBO对于Compute shader而言是一种通用的输入、输出数据的形式。但对于视频流数据而言,视频在显示时,对于GPU可访问的数据常常是以纹理数据(Texture)的数据形式存在,所以如果要使用TensorFlow Lite来处理视频流数据,在必然会存在数据格式的转换,而且这个转换无法直接在GPU侧完成,必须需要CPU来控制转换。图2是本申请提供的SSBO数据类型与Texture数据类型转换示意图,如图2所示,在处理视频流数据时,需要将视频帧数据即Texture数据类型的数据1先通过CPU读出来为数据2,然后以SSBO数据类型写入GPU对应的内存中,得到数据3,类似地,通过TensorFlow Lite计算后的SSBO数据类型的数据3’,需要再通过CPU读出来为数据2’,然后转换成Texture数据类型的数据1’,才能正常送显。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910730619.0/2.html,转载请声明来源钻瓜专利网。