
深度学习--基本工具
文章平均质量分 59
LegendBIT
这个作者很懒,什么都没留下…
展开
-
Torch 模型 model => .onnx => .trt 及利用 TensorTR 在 C++ 下的模型部署教程
Torch 模型 model => .onnx => .trt 及利用 TensorTR 在 C++ 下的模型部署教程原创 2025-03-07 22:32:01 · 781 阅读 · 0 评论 -
深度学习常用代码总结(k-means, NMS)
因为图像中的目标是多种多样的形状、大小和长宽比,目标检测算法中为了更好的保障目标的召回率,通常会使用 SelectiveSearch、RPN (例如:Faster-RCNN)、Anchor (例如:YOLO) 等方式生成长宽不同、数量较多的候选边界框 (BBOX)。step5:将IOU与NMS预设阈值Thre进行比较,若某bbox与bbox1的IOU大于Thre,即视为bbox1的“邻域”,则在该类别边界框列表中移除该bbox,即去除冗余边界框;step8:输出列表即为想要输出的检测框,NMS流程结束。原创 2024-01-16 23:26:10 · 1882 阅读 · 0 评论 -
Github常用命令记录
Github 常用命令记录原创 2023-11-12 20:23:08 · 302 阅读 · 1 评论 -
torch的pth模型转换为onnx模型并对比测试
import torchimport torch.onnxfrom PIL import Imageimport torchvision.transforms as transformsimport onnxruntime as rtimport numpy as np################################################################################################################.原创 2022-02-22 20:17:36 · 2628 阅读 · 6 评论 -
Torch的编程方式示例以及必备知识
Torch的编程方式示例以及必备知识原创 2022-01-12 16:00:47 · 2508 阅读 · 0 评论 -
tensorflow2.x的模型输入从NHWC格式转换为NCHW格式
tensorflow2.x的模型输入默认格式是NHWC格式,但是某些应用场景下需要在模型中将NHWC输入格式转换为输入NCHW格式,操作代码如下import tensorflow as tfmodel_path = "./xxx.h5"output_path = "./yyy.h5"model.load_model(model_path)new_model = tf.keras.models.Sequential([Input((3, 128, 128)), tf.keras.layers原创 2022-01-01 19:30:29 · 1607 阅读 · 3 评论 -
tensorflow2.x针对h5模型的自定义评测(acc,召回率,精确率,混淆矩阵和混淆矩阵绘图代码)以及常用的四种图片读取方式
import tensorflow as tfimport numpy as npfrom tqdm import tqdmimport os# 读取数据IMG_SIZE = (128, 128)BATCH_SIZE = 128test_dir = "./train"# test_dir = "./test"# 得到dir路径下所有文件的具体路径以及标签,file_paths_list, labels_list都是list分别对应着每个文件的具体路径和标签编号,class_names.原创 2022-01-01 19:09:41 · 378 阅读 · 0 评论 -
计算图片数据集的整体均值、方差和直方图
在深度学习中经常需要分析图片数据集的均值和方差以及直方图,如下代码实现了该功能,可以计算整体图片数据集的每个通道的所有像素的整体均值和方差,计算时又分包含0像素和不包含0像素,所以输出是6个均值和6个方差,之所以这样划分,原因是在深度学习中需要将所有图片缩放至同等的宽高,这时一般选用等比例拉伸,那必然带来大量的padding像素,而这些padding像素,我们一般赋予0值,所以0像素值是最大量的,远远高于第二。该代码还能输出每个通道的直方图,当然只能输出3个直方图,对应RGB,每个通道的直方图是整个数据集累原创 2022-01-01 17:11:39 · 3261 阅读 · 0 评论 -
tensorflow2.x中的h5转换为onnx以及onnx的x86端测评
在日常使用中经常需要做模型转换,那tensorflow2.x的h5模型转onnx是必要的知识,如下代码实现了该转换,可以设置输入张量的形状,也可以选择opset。# 读取h5模型转换为onnx模型,教程来自于https://github.com/onnx/tensorflow-onnx/blob/master/tutorials/keras-resnet50.ipynbimport tensorflow as tfimport numpy as npimport cv2import tf2on原创 2022-01-01 16:40:54 · 7344 阅读 · 2 评论 -
tensorflow2.x中的量化感知训练以及tflite的x86端测评
tensorflow 2.x的模型训练结束后一般保存为.h5或save_model的模型格式(只能是fp32格式),如果模型想要部署在移动端,一般需要将模型转换为.tflite格式,这里又分为动态格式、fp32格式、fp16格式和int8格式的tflite【1】。一般而言,如果直接将fp32的h5转换为int8格式的tflite会存在精度下降,为了尽量减少转换过程中的精度下降,可选的方式是在转换前对模型进行量化感知训练。具体办法是在权重保持fp32的情况下,按照int8量化的需求进行训练,之后再正式进行in原创 2022-01-01 16:29:34 · 2457 阅读 · 6 评论 -
tensorflow2.x主要的两种编程方式
tensorflow从1.x变到2.x的过程中,编程方式发生了很大的改变,且从tensorflow2.x开始官方推荐tf.keras的编程方式,这样的变化让很多初学者非常困惑,从网上随便搜索一下,可以搜索到各种版本的tensorflow编程方式,且1.x的教程偏多,让初学者不知该选择哪种版本。这里总结了我认为比较受欢迎的两种编程方式,分别是基于tf.keras的编程方式和基于tensorflow2.x原生的编程方式,可以用于验证tensorflow是否安装成功。基于tf.keras的编程方式基于tf原创 2021-12-30 15:30:03 · 419 阅读 · 0 评论 -
tensorflow2.0和torch的数据读取方式总结
1. tensorflow2.0的数据读取方式1.1 直接读取图片数据tf2.0读取数据的方式有很多种【0】,当想要直接读取数据时,推荐采用tf.data.dataset的方式。该方式可以并行读取数据,也可以在训练网络的同时读取数据,可以充分发挥GPU和多核CPU的实力。根据个人的理解,我认为tf.data.Dataset对象在读取图片时,并非一次性把所有数据都读入内存中,而是在使用时才读取数据,这里牵扯三个存储位置第一个位置是硬盘中的数据,第二个是shuffle()设置的内存中的一块区域,原创 2021-12-30 15:21:37 · 251 阅读 · 0 评论