您当前的位置:钢材 > 钢绞线 > 价格汇总

cifar数据预处理,数据预处理模型

来源:头条 作者: chanong
分享到
关注德勤钢铁网在线:
  • 扫描二维码

    关注√

    德勤钢铁网微信

在线咨询:
  • 扫描或点击关注德勤钢铁网在线客服

本文由华为云社区分享《了解AscendCL数据预处理的两种方式:AIPP和DVPP-云社区-华为云》,作者:升腾CANN。

数据预处理的常见使用场景受到网络结构和训练方法等因素的影响,并且大多数神经网络模型都有输入数据格式的限制。在计算机视觉领域,这种限制主要体现在图像尺寸、色域、归一化参数等方面。如果源图像或视频的大小、格式等不符合网络模型的要求,则必须对其进行处理以满足模型要求,这个任务通常称为数据预处理。

AIPP、DVPP 和您可以做什么CANN 提供了两套专门用于数据预处理的方法:AIPP 和DVPP。

综上所述,虽然都是数据预处理,但是AIPP和DVPP的功能范围不同(例如DVPP可以进行图像编解码、视频编解码,AIPP可以进行归一化合成),以及处理这些数据的计算单元数据也不同。 AIPP使用的AI Core计算加速单元DVPP是专门的图像处理单元。 AIPP和DVPP可以单独使用,也可以组合使用。在组合使用场景中,DVPP通常用于图像/视频解码、裁剪、缩放等基本处理,但由于DVPP硬件限制,使用DVPP处理的图像的格式和分辨率可能无法满足。因此,AIPP还应该用于色域转换、裁剪、填充等。例如,在Ascend 310 AI处理器上,DVPP仅支持输出YUV格式的图像,因此如果您的模型需要RGB格式的图像,则必须使用AIPP进行色域转换。

AIPP功能的使用方法如下: 测试图像分辨率为250*250,图像格式为YUV420SP。该模型要求图像分辨率为224*224,图像格式为RGB,因此需要AIPP来实现抠图。格式转换有两个功能。对于各种格式转换,可在《ATC工具使用指南》 处获取色域转换系数模板。参见升腾文档中心。升腾社区-官网丨升腾万里让智能无处不在。

静态AIPP1:构建AIPP配置文件*.cfg。抠图:有效数据区域从左上角(0, 0)像素开始,抠图宽*高为224*224。图像格式转换:输入图像格式为YUV420SP_U8,输出图像格式由色域转换系数控制。

aipp_op {aipp_mode : static# AIPP配置模式input_format : YUV420SP_U8 # 输入到AIPP的原始图像格式src_image_size_w : 250# 输入到AIPP的原始图像的宽度和高度src_image_size_h : 250crop: true # 用于更改图像尺寸剪切开关load_start_pos _h 3 3360 0 # 水平load_start_pos_w: 0crop_size_w: 224 # 裁剪宽度和高度crop_size_h: 224csc_switch : true # 色域转换开关matrix_r0c0 : 256 # 色域转换系数matrix_r0c1 : 0matrix_r0c2 333 60 359 矩阵_r1c0 : 256matrix_r1c1 : -88matrix_r1c2 : -183matrix_r2c0 : 256matrix_r2c1 : 454matrix_r2c2 : 0input_bias_0 : 0input_bias_1 : 128input_bias_2 : 128}2. 启用静态AIPP。使用ATC工具转换模型时,可以通过insert_op_conf参数传递AIPP配置文件,将配置参数保存到模型文件中。

atc --framework=3 --soc_version=${soc_version}--model=$HOME/module/resnet50_tensorflow.pb --insert_op_conf=$HOME/module/insert_op.cfg --output=$HOME/module/out/tf_resnet50参数解释如下: - 框架:原始网络模型的框架类型。 3代表TensorFlow框架。 - soc_version:转换模型时指定Ascend AI处理器版本(例如Ascend310)。 - 模型:原始网络模型文件路径,包括文件名。 - insert_op_conf:AIPP预处理配置文件的路径(包括文件名)。 - 输出:转换后的*.om模型文件的路径(含文件名),如果转换成功,文件名会自动以.om后缀结尾。 3. 调用AscendCL接口加载模型并进行推理。请参阅之前的技术文章。请参见基于升腾计算语言AscendCL开发人工智能推理应用基于升腾计算语言AscendCL开发人工智能推理应用- 云社区- 华为云。

动态AIPP1:构建AIPP配置文件*.cfg。

aipp_op{aipp_mode: Dynamicmax_src_image_size: 752640 # 输入图像的最大内存大小。应根据实际情况进行调整。 } 2. 启用动态AIPP。使用ATC工具转换模型时,可以通过insert_op_conf参数传递AIPP配置文件,将配置参数保存到模型文件中。

atc --framework=3 --soc_version=${soc_version}--model=$HOME/module/resnet50_tensorflow.pb --insert_op_conf=$HOME/module/insert_op.cfg --output=$HOME/module/out/tf_resnet50参数解释如下: - 框架:原始网络模型的框架类型。 3代表TensorFlow框架。 - soc_version:转换模型时指定Ascend AI处理器版本(例如Ascend310)。 - 模型:原始网络模型文件路径,包括文件名。 - insert_op_conf:AIPP预处理配置文件的路径(包括文件名)。 - 输出:转换后的*.om模型文件的路径(含文件名),如果转换成功,文件名会自动以.om后缀结尾。 3. 调用AscendCL接口加载模型、设置AIPP参数并运行推理。有关加载和运行模型的信息,请参阅我们之前的技术文章。请参见基于升腾计算语言AscendCL开发人工智能推理应用基于升腾计算语言AscendCL开发人工智能推理应用- 云社区- 华为云。以下代码示例调用AscendCL接口设置AIPP参数。

aclmdlAIPP *aippDynamicSet=aclmdlCreateAIPP(批号);aclmdlSetAIPPSrcImageSize(aippDynamicSet, 250, 250);aclmdlSetAIPPInputFormat(aippDynamicSet, ACL_YUV420SP_U8);aclmdlSetAIPPCscParams(aippDynamicSet , 1, 2 56, 0, 359 , 256, -88, -183, 256, 454 , 0 , 0, 0, 0, 0, 128, 128);aclmdlSetAIPPCropParams(aippDynamicSet, 1, 2, 2, 224, 224, 0);aclmdlSetInputAIPP(modelId, input,index, aippDynamicSet);aclmdlDestroyAIPP(aippDynamicSet);如何使用复制DVPP功能升腾AI处理器包含图像处理单元DVPP,为媒体处理提供强大的硬加速能力。同时,异构计算架构CANN提供了AscendCL接口,这是使用图像处理硬件计算能力的网关,开发者可以通过该接口进行图像处理DVPP内的功能模块有:

本节以JPEGD图像解码+VPC图像缩放为例,介绍DVPP功能的使用方法。该图概述了接口调用过程,包括初始化和取消初始化资源、创建和销毁通道、解码、缩放、等待任务完成、释放内存资源等。

概述了接口调用流程后,我们接下来通过Code以更方便开发者的方式演示了JPEGD图像解码+VPC图像缩放功能的关键代码逻辑。

//创建通道acldvppChannelDesc dvppChannelDesc=acldvppCreateChannelDesc();acldvppCreateChannel(dvppChannelDesc); //在解码JPEGD 图像之前,准备其输入和输出//. //解码输出图像的描述信息创建宽度、高度、以及输出图像的宽度图片格式、内存地址等acldvppPicDecodeDescHeight(decodeOutputDesc,decodeOutputHeight);acldvppSetPicDescHeight(decodeOutputDesc,decodeOutputHeight);//其他配置接口略这里. //执行JPEGD 图像解码acldvppJpegDecodeAsync(dvppChannelDesc,decodeInputBuffer,decodeInputBufferSize,decodeOutputDesc,stream); //5. 在缩放VPC 图像之前,输入和输出//创建缩放后的输入图像的描述信息并设置各个属性value 解码后的输出用作acldvppPicDesc 的比例输入ResizeInputDesc=acldvppCreatePicDesc();acldvppSetPicDescData(resizeInputDesc,decodeOutputBuffer) ;acldvppSetPicDescWidth(resizeInputDesc, ResizeInputWidth);acldvppSetPicDescHeight(resizeInputDesc, ResizeInputHeight);//这里省略其他配置接口.//创建缩放输出图像的描述信息并设置各个属性值acldvppPicDesc allocateOutputDesc=acldvppCreatePicDesc() ;acldvppSetPicDescData(resizeOutputDesc, SimplyOutputBuffer);acldvppSetPicDescWidth(resizeOutputDesc, SimplyOutputWidth);acldvppSetPicDescHeight(resizeOutputDesc, SimplyOutputHeight);//其他配置的接口将省略这里. //6. 执行VPC 图像缩放acldvppVpcResizeAsync (dvppChannelDesc, ResizeInputDesc,resizeOutputDesc, ResizeConfig, Stream);//7. 解码JPEGD 图像和缩放VPC 图像是异步任务。从程序执行到指定Stream中的所有任务完成aclrtSynchronizeStream(stream ); 本节通过接口调用流程和示例代码来介绍DVPP的功能开发。 DVPP功能的详细介绍和使用请参见。升腾文档中心”升腾社区-官网丨升腾万里,让智能无所不在。关注#华为云开发者联盟#,点击下方抢先了解华为云新技术~华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

责任编辑:德勤钢铁网 标签:

热门搜索

相关文章

广告
德勤钢铁网 |价格汇总

cifar数据预处理,数据预处理模型

chanong

|

本文由华为云社区分享《了解AscendCL数据预处理的两种方式:AIPP和DVPP-云社区-华为云》,作者:升腾CANN。

数据预处理的常见使用场景受到网络结构和训练方法等因素的影响,并且大多数神经网络模型都有输入数据格式的限制。在计算机视觉领域,这种限制主要体现在图像尺寸、色域、归一化参数等方面。如果源图像或视频的大小、格式等不符合网络模型的要求,则必须对其进行处理以满足模型要求,这个任务通常称为数据预处理。

AIPP、DVPP 和您可以做什么CANN 提供了两套专门用于数据预处理的方法:AIPP 和DVPP。

综上所述,虽然都是数据预处理,但是AIPP和DVPP的功能范围不同(例如DVPP可以进行图像编解码、视频编解码,AIPP可以进行归一化合成),以及处理这些数据的计算单元数据也不同。 AIPP使用的AI Core计算加速单元DVPP是专门的图像处理单元。 AIPP和DVPP可以单独使用,也可以组合使用。在组合使用场景中,DVPP通常用于图像/视频解码、裁剪、缩放等基本处理,但由于DVPP硬件限制,使用DVPP处理的图像的格式和分辨率可能无法满足。因此,AIPP还应该用于色域转换、裁剪、填充等。例如,在Ascend 310 AI处理器上,DVPP仅支持输出YUV格式的图像,因此如果您的模型需要RGB格式的图像,则必须使用AIPP进行色域转换。

AIPP功能的使用方法如下: 测试图像分辨率为250*250,图像格式为YUV420SP。该模型要求图像分辨率为224*224,图像格式为RGB,因此需要AIPP来实现抠图。格式转换有两个功能。对于各种格式转换,可在《ATC工具使用指南》 处获取色域转换系数模板。参见升腾文档中心。升腾社区-官网丨升腾万里让智能无处不在。

静态AIPP1:构建AIPP配置文件*.cfg。抠图:有效数据区域从左上角(0, 0)像素开始,抠图宽*高为224*224。图像格式转换:输入图像格式为YUV420SP_U8,输出图像格式由色域转换系数控制。

aipp_op {aipp_mode : static# AIPP配置模式input_format : YUV420SP_U8 # 输入到AIPP的原始图像格式src_image_size_w : 250# 输入到AIPP的原始图像的宽度和高度src_image_size_h : 250crop: true # 用于更改图像尺寸剪切开关load_start_pos _h 3 3360 0 # 水平load_start_pos_w: 0crop_size_w: 224 # 裁剪宽度和高度crop_size_h: 224csc_switch : true # 色域转换开关matrix_r0c0 : 256 # 色域转换系数matrix_r0c1 : 0matrix_r0c2 333 60 359 矩阵_r1c0 : 256matrix_r1c1 : -88matrix_r1c2 : -183matrix_r2c0 : 256matrix_r2c1 : 454matrix_r2c2 : 0input_bias_0 : 0input_bias_1 : 128input_bias_2 : 128}2. 启用静态AIPP。使用ATC工具转换模型时,可以通过insert_op_conf参数传递AIPP配置文件,将配置参数保存到模型文件中。

atc --framework=3 --soc_version=${soc_version}--model=$HOME/module/resnet50_tensorflow.pb --insert_op_conf=$HOME/module/insert_op.cfg --output=$HOME/module/out/tf_resnet50参数解释如下: - 框架:原始网络模型的框架类型。 3代表TensorFlow框架。 - soc_version:转换模型时指定Ascend AI处理器版本(例如Ascend310)。 - 模型:原始网络模型文件路径,包括文件名。 - insert_op_conf:AIPP预处理配置文件的路径(包括文件名)。 - 输出:转换后的*.om模型文件的路径(含文件名),如果转换成功,文件名会自动以.om后缀结尾。 3. 调用AscendCL接口加载模型并进行推理。请参阅之前的技术文章。请参见基于升腾计算语言AscendCL开发人工智能推理应用基于升腾计算语言AscendCL开发人工智能推理应用- 云社区- 华为云。

动态AIPP1:构建AIPP配置文件*.cfg。

aipp_op{aipp_mode: Dynamicmax_src_image_size: 752640 # 输入图像的最大内存大小。应根据实际情况进行调整。 } 2. 启用动态AIPP。使用ATC工具转换模型时,可以通过insert_op_conf参数传递AIPP配置文件,将配置参数保存到模型文件中。

atc --framework=3 --soc_version=${soc_version}--model=$HOME/module/resnet50_tensorflow.pb --insert_op_conf=$HOME/module/insert_op.cfg --output=$HOME/module/out/tf_resnet50参数解释如下: - 框架:原始网络模型的框架类型。 3代表TensorFlow框架。 - soc_version:转换模型时指定Ascend AI处理器版本(例如Ascend310)。 - 模型:原始网络模型文件路径,包括文件名。 - insert_op_conf:AIPP预处理配置文件的路径(包括文件名)。 - 输出:转换后的*.om模型文件的路径(含文件名),如果转换成功,文件名会自动以.om后缀结尾。 3. 调用AscendCL接口加载模型、设置AIPP参数并运行推理。有关加载和运行模型的信息,请参阅我们之前的技术文章。请参见基于升腾计算语言AscendCL开发人工智能推理应用基于升腾计算语言AscendCL开发人工智能推理应用- 云社区- 华为云。以下代码示例调用AscendCL接口设置AIPP参数。

aclmdlAIPP *aippDynamicSet=aclmdlCreateAIPP(批号);aclmdlSetAIPPSrcImageSize(aippDynamicSet, 250, 250);aclmdlSetAIPPInputFormat(aippDynamicSet, ACL_YUV420SP_U8);aclmdlSetAIPPCscParams(aippDynamicSet , 1, 2 56, 0, 359 , 256, -88, -183, 256, 454 , 0 , 0, 0, 0, 0, 128, 128);aclmdlSetAIPPCropParams(aippDynamicSet, 1, 2, 2, 224, 224, 0);aclmdlSetInputAIPP(modelId, input,index, aippDynamicSet);aclmdlDestroyAIPP(aippDynamicSet);如何使用复制DVPP功能升腾AI处理器包含图像处理单元DVPP,为媒体处理提供强大的硬加速能力。同时,异构计算架构CANN提供了AscendCL接口,这是使用图像处理硬件计算能力的网关,开发者可以通过该接口进行图像处理DVPP内的功能模块有:

本节以JPEGD图像解码+VPC图像缩放为例,介绍DVPP功能的使用方法。该图概述了接口调用过程,包括初始化和取消初始化资源、创建和销毁通道、解码、缩放、等待任务完成、释放内存资源等。

概述了接口调用流程后,我们接下来通过Code以更方便开发者的方式演示了JPEGD图像解码+VPC图像缩放功能的关键代码逻辑。

//创建通道acldvppChannelDesc dvppChannelDesc=acldvppCreateChannelDesc();acldvppCreateChannel(dvppChannelDesc); //在解码JPEGD 图像之前,准备其输入和输出//. //解码输出图像的描述信息创建宽度、高度、以及输出图像的宽度图片格式、内存地址等acldvppPicDecodeDescHeight(decodeOutputDesc,decodeOutputHeight);acldvppSetPicDescHeight(decodeOutputDesc,decodeOutputHeight);//其他配置接口略这里. //执行JPEGD 图像解码acldvppJpegDecodeAsync(dvppChannelDesc,decodeInputBuffer,decodeInputBufferSize,decodeOutputDesc,stream); //5. 在缩放VPC 图像之前,输入和输出//创建缩放后的输入图像的描述信息并设置各个属性value 解码后的输出用作acldvppPicDesc 的比例输入ResizeInputDesc=acldvppCreatePicDesc();acldvppSetPicDescData(resizeInputDesc,decodeOutputBuffer) ;acldvppSetPicDescWidth(resizeInputDesc, ResizeInputWidth);acldvppSetPicDescHeight(resizeInputDesc, ResizeInputHeight);//这里省略其他配置接口.//创建缩放输出图像的描述信息并设置各个属性值acldvppPicDesc allocateOutputDesc=acldvppCreatePicDesc() ;acldvppSetPicDescData(resizeOutputDesc, SimplyOutputBuffer);acldvppSetPicDescWidth(resizeOutputDesc, SimplyOutputWidth);acldvppSetPicDescHeight(resizeOutputDesc, SimplyOutputHeight);//其他配置的接口将省略这里. //6. 执行VPC 图像缩放acldvppVpcResizeAsync (dvppChannelDesc, ResizeInputDesc,resizeOutputDesc, ResizeConfig, Stream);//7. 解码JPEGD 图像和缩放VPC 图像是异步任务。从程序执行到指定Stream中的所有任务完成aclrtSynchronizeStream(stream ); 本节通过接口调用流程和示例代码来介绍DVPP的功能开发。 DVPP功能的详细介绍和使用请参见。升腾文档中心”升腾社区-官网丨升腾万里,让智能无所不在。关注#华为云开发者联盟#,点击下方抢先了解华为云新技术~华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云


价格汇总