模型INT8转换整理文档_第1页
模型INT8转换整理文档_第2页
模型INT8转换整理文档_第3页
模型INT8转换整理文档_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、模型INT8转换整理文档为评估在GPUT4模型推理性能和资源消耗,需要考虑将模型进行量化后的处理。FP16模型的量化比较简单,只需要改动API的一些参数即可;INT8的实现比较复杂,特作此整理,以方便以后重复此操作。2 .环境服务器:03CPU:48xE5-2650v42.20GHz内存:62GGPUI:TeslaT4显存:15GTensorRT:CUDA10.1GPU驱动版本:418.116.00CUDNN:7.5.0CUBLAS:10.1模型:googlenet3 .实现方法参考文档TensorRT/samples/sampleINT8/R

2、EADME.md说明,卞据非Caffe模型转换方法实现,原文部分如下:Generatingbatchfilesfornon-CaffeusersFordevelopersthatarenotusingCaffe,orcannoteasilyconverttoCaffe,thebatchfilescanbegeneratedviathefollowingsequenceofstepsontheinputtrainingdata.Subtractoutthenormalizedmeanfromthedataset.Cropalloftheinputdatatothesamedimensions.S

3、plitthedataintobatchfileswhereeachbatchfilehasNpreprocessedimagesandlabels.GeneratethebatchfilesbasedontheformatspecifiedinBatchfilesforcalibration.4 .操作步骤4.1. 准备校正集文件CalibrationFile编译命令:g+createCalibrationCache.cpp-lopencv_imgproc-lopencv_core-lopencv_imgcodecs-occc-g执行命令:./ccccachelmgs.calibILSVRC

4、2012_val_00001234.JPEG注:1、这里ccc即测试程序,cacheImgs.calib是保存的校正集文件第三个参数是使用的图片2、可以多次使用不同的图片,增加校正集中图片的数量,这里只为测试只采用了一张图片4.2. 使用校正集进行模型转换并序列化CudaEngine保存这里使用了TensorRT提供的trtexec样例程序,执行命令:cd/home/reny/downloads/TensorRT-/samples/trtexec./trtexec-deploy=data/googlenet/totxt-output="prob&qu

5、ot;-model=data/googlenet/googlenet.caffemodel-int8-batch=4-saveEngine=googlenet_int8_bs4.engine-calib=CalibratorcreateCache/cacheImgs.calib4.3. 加载CudaEngine文件并反序列化这里采用了TensorRT提供的SampleGoogleNet样例程序主要改动:增加一个加载CudaEngine文件的函数,该函数思路源于trtexec样例代码/addbyreny2019/12/27staticnvinfer1:ICudaEngine*LoadEngine

6、(conststring&sSavedEngineFile)ICudaEngine*engine;std:vector<char>trtModelStream;size_tsize0;std:ifstreamfile(sSavedEngineFile.data(),std:ios:binary);if(file.good()file.seekg(0,file.end);size=file.tellg();file.seekg(0,file.beg);trtModelStream.resize(size);file.read(trtModelStream.data(),siz

7、e);file.close();)IRuntime*infer=createInferRuntime(gLogger.getTRTLogger();/*if(.useDLACore>=0)infer->setDLACore(gParams.useDLACore);)*/engine=infer->deserializeCudaEngine(trtModelStream.data(),size,nullptr);gLogInfo<<sSavedEngineFile<<"hasbeensuccessfullyloaded."<&l

8、t;std:endl;infer->destroy();returnengine;)修改后测试程序路径:/home/reny/downloads/TensorRT-/samples/sampleGoogleNet_ry4.4. 执行正常步骤进行推理cd/home/reny/downloads/TensorRT./bin/sample_googlenet-loadEngine/home/reny/nvidia/googlenet_int8_bs4.engine5 .实现截图goqgiian0t_intB_b!t4.ongino_1/bin/s>jnpls_

9、g'=KigLand.-.lladdlEnginst/haiw/rony/mvidItkLUal唱jndwMgQ制InferenLi*也唱山也for5逅1电lietllgoliHfonMT1RTTensorPT叼、量*?审打钝工呷1具51中事$butisHNk说乎tCuOLMi博I/hcinr-j'renjr/nwidijB/jooglenrtint8wbs4.engineha3beea5uuuit3>3ifiJ】lyloaded_interiigoingon町TftTJTw5<h*RF2号,颦加晕工14bytisJUftkediCiiBLAS工乳工用inpiitbuiferiiib:京吗M41Kinfflp&fice53H5irfxtr2与18褪&tir*es汨+封已收一coststirw:868mgIRan./bin/sasplejgaoElenetwith;£lInput(a):dataIJOuLputfG:prccb,原MiPAS5DT力sorffT.5nRMgJWNt*,-loadFnglftp|rgtkEs-art:ftrTans口rtiT.5pwd6.参考资料1代码TensorRT/s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论