当前位置: 首页 > news >正文

做DJ网站违法吗汕头seo网站推广

做DJ网站违法吗,汕头seo网站推广,网站用户账号ip查询,微网站开发语言系列文章目录 第一章 YOLOv5模型训练集标注、训练流程 第二章 YOLOv5模型转ONNX,ONNX转TensorRT Engine 第三章 TensorRT量化 文章目录 系列文章目录前言一、量化二、量化在TensorRT中的实现三、预处理#xff08;Preprocess)和后处理(Postprocess)总结 前言 学习笔记–恩培…系列文章目录 第一章 YOLOv5模型训练集标注、训练流程 第二章 YOLOv5模型转ONNX,ONNX转TensorRT Engine 第三章 TensorRT量化 文章目录 系列文章目录前言一、量化二、量化在TensorRT中的实现三、预处理Preprocess)和后处理(Postprocess)总结 前言 学习笔记–恩培老师 一、量化 深度学习量化是将深度学习模型中的参数例如权重从浮点数转换成整理或者定点数的过程这样做可以减少模型的存储和计算成本从而达到模型压缩和运算加速的目的。 加快推理速度:访问一次32位浮点型可以访问4次Int8整型数据减少存储空间和内存占用在边缘设备(如嵌入式上部署更实用。 提升速度的同时量化也会带来精度损失为了尽可能减少量化过程中精度的损失需要使用各种校准方法来降低信息的损失。TensorRT中支持两种INT8整型数据 熵校准最小最大值校准 熵校准是一种动态校准算法使用KL散度(KL Divergence)来度量推理数据和校准数据之间的分布差异。在熵校准中校准数据是从实时推理数据中采集它将INT8精度量化参数看作概率分布根据推理数据和校准数据的KL散度来更新量化参数。这种方法优点是可以更好地反映实际推理数据的分布。 最小最大值校准使用最小最大值算法来计算量化参数。在最小最大值校准中需要使用一组代表性的校准数据来生成量化参数首先将推理中的数据进行统计计算数据的最小值和最大值然后根据这些值来计算量化参数。 一般选择500-1000张数据用于量化。 二、量化在TensorRT中的实现 在 TensorRT 中可以通过实现 IInt8EntropyCalibrator2 接口或者 IInt8MinMaxCalibrator 接口来执行熵校准或最小最大值校准。 IInt8EntropyCalibrator2接口是用于执行熵校准的。需要实现该接口并提供一个数据生成器该生成器生成用于校准的数据。在校准过程中TensorRT将分析每个张量的分布并选择合适的量化参数。你可以在校准过程中自定义数据生成器例如从文件加载数据集并进行预处理。IInt8MinMaxCalibrator接口是用于执行最小最大值校准的。需要实现该接口并提供一个数据生成器该生成器生成用于校准的数据。在校准过程中TensorRT 将计算每个张量的最小和最大值并使用它们作为量化参数。你可以在校准过程中自定义数据生成器例如从文件加载数据集并进行预处理。 以下是一个使用 IInt8EntropyCalibrator2 接口的示例 import tensorrt as trtclass EntropyCalibrator(trt.IInt8EntropyCalibrator2):def __init__(self, data_dir, batch_size, input_shape):# 初始化数据生成器self.data_dir data_dirself.batch_size batch_sizeself.input_shape input_shapedef get_batch_size(self):return self.batch_sizedef get_batch(self, names):# 从数据生成器中获取一个批次的数据# 返回一个包含每个输入名称和对应数据的字典batch_data ...return batch_data# 创建 TensorRT builder 和配置 builder trt.Builder(...) config builder.create_builder_config()# 设置 Int8 校准器 calibrator EntropyCalibrator(data_dir, batch_size, input_shape) config.int8_calibrator calibrator# 构建和优化 TensorRT 引擎 network builder.create_network() engine builder.build_engine(network, config) 使用 IInt8MinMaxCalibrator 接口也类似只需实现不同的接口方法。 运行代码 #将会读取 c3.mp4 文件并将其每一帧保存为以 sample0001.png、sample0002.png、 #sample0003.png等命名的 PNG 图像文件。 ffmpeg -i c3.mp4 sample%04d.png #ls 命令获取当前目录下所有的 PNG 图像文件并使用 shuf 命令随机选择其中的 200 个文件 #并将结果保存到 filelist.txt 文件中。 ls *.png | shuf -n 200 filelist.txt#将Build后的参数分布是onnx,校准目录(用于拼接完整图片路径),文件列表路径 ./build/build weights/yolov5s_person.onnx ./media/ ./media/filelist.txt 三、预处理Preprocess)和后处理(Postprocess) YOLOv5预处理步骤如下 letterbox: 即保持原图比例(图像直接resize到输入大小效果不好),将图片放在一个正方形画布中多余部分用黑色填充。Normalization归一化将像素值缩放到[0,1]间颜色通道顺序调整BGR2RGBNHWC转为NCHW letterbox的实现可以使用opencv的cv::warpAffine #include opencv2/opencv.hppusing namespace cv;Mat letterbox(Mat image, int width, int height) {// 获取原始图像的宽度和高度int img_width image.cols;int img_height image.rows;// 计算需要添加的填充大小float scale std::min(static_castfloat(width) / img_width, static_castfloat(height) / img_height);int new_width static_castint(img_width * scale);int new_height static_castint(img_height * scale);int dx (width - new_width) / 2;int dy (height - new_height) / 2;// 创建变换矩阵Mat M Mat::eye(2, 3, CV_32F);M.atfloat(0, 0) scale;M.atfloat(1, 1) scale;M.atfloat(0, 2) dx;M.atfloat(1, 2) dy;// 应用变换矩阵Mat letterboxed_image;warpAffine(image, letterboxed_image, M, Size(width, height), INTER_LINEAR, BORDER_CONSTANT, Scalar(0, 0, 0));return letterboxed_image; }int main() {// 加载图像Mat image imread(input.jpg);// 进行 Letterbox 处理Mat letterboxed_image letterbox(image, 800, 800);// 显示调整后的图像并保存imshow(Letterboxed Image, letterboxed_image);imwrite(output.jpg, letterboxed_image);waitKey(0);return 0; }后处理 在设备上分配主机内存用于存储复制后的数据。使用cudaMemcpy函数将设备上的结果复制到分配的主机内存中。释放在设备上分配的内存。 #include cuda_runtime.h// 假设在设备上分配了一块内存 device_output存储了处理后的结果// 获取结果的大小和其他信息 size_t output_size ...; // 其他信息...// 在主机上分配内存用于存储复制后的数据 void* host_output malloc(output_size);// 将设备上的结果复制到主机内存中 cudaMemcpy(host_output, device_output, output_size, cudaMemcpyDeviceToHost);// 进行后续处理如执行非极大值抑制等// 释放在主机上分配的内存 free(host_output); 总结 接下来会介绍TensorRT结合DeepStream加速过程。
http://www.zqtcl.cn/news/188682/

相关文章:

  • 找做课件的网站网站建设柒首先金手指9
  • 秦皇岛网站建设公司wordpress百度编辑器
  • 潍坊网站建设联系方式农业网站开发
  • 河北网站制作网站设计依赖于什么设计
  • 深圳网站优化培训wordpress内页关键词
  • 上栗网站建设企业网站建设报价方案
  • 广州网站开发公司公司级别网站开发
  • 做网站备案哪些条件怎样选择网站的关键词
  • 有没有专门做名片的网站忘记网站后台账号
  • 重庆建设工程招标网站印尼建设银行网站
  • 什么是网站流量优化四川住房建设厅网站
  • 现在还有企业做网站吗做百度推广送的网站
  • 公司年前做网站好处互联网推广运营是做什么的
  • 公司网站建设杭州钓鱼网站制作的报告
  • 宁海有做网站的吗网络规划设计师需要掌握哪些
  • 百度云注册域名可以做网站明码有了主机如何做网站
  • 门户网站推广方案连云港市电信网站建设
  • 网站程序如何制作app商城开发价格
  • 用易语言做攻击网站软件国药控股北京有限公司
  • 宁津 做网站湛江招聘网最新招聘
  • 网站建设优化服务器asp企业网站
  • 门窗网站源码建筑模板厂家联系方式
  • 太原网站建设解决方案做建筑机械网站那个网站好
  • 丹徒做网站产品外贸营销推广方案
  • 信息技术 网站建设教案做是么网站
  • 网站建设培训报名wordpress 到小程序
  • 郑州做网站软件建设网站培训
  • 做网站卖东西赚钱吗凡科互动官网登陆
  • 免费写作网站通道一通道二通道三免费
  • 腾讯云做网站选哪个网络广告推广员