太阳花的小绿豆
码龄8年
求更新 关注
提问 私信
  • 博客:3,786,284
    社区:1,908
    问答:1,464
    动态:56
    3,789,712
    总访问量
  • 106
    原创
  • 36,562
    粉丝
  • 6
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2017-02-16
博客简介:

霹雳吧啦Wz

查看详细资料
个人成就
  • 获得15,231次点赞
  • 内容获得3,393次评论
  • 获得47,361次收藏
  • 代码片获得56,679次分享
  • 博客总排名10,555名
  • 原力等级
    原力等级
    9
    原力分
    15,496
    本月获得
    93
创作历程
  • 1篇
    2025年
  • 9篇
    2024年
  • 3篇
    2023年
  • 13篇
    2022年
  • 34篇
    2021年
  • 20篇
    2020年
  • 23篇
    2019年
  • 8篇
    2018年
  • 6篇
    2017年
成就勋章
TA的专栏
  • pytorch
    25篇
  • onnx
    1篇
  • 编程语言
    3篇
  • 深度学习
    53篇
  • 软件使用
    6篇
  • 图像分类
    6篇
  • 网络解析
    13篇
  • 算法
    3篇
  • python项目
    7篇
  • object detection目标检测
    12篇
  • 关键点检测
    1篇
  • 数据集介绍
    1篇
  • paddle
    2篇
  • 语义分割
    5篇
  • 后端开发
    8篇
  • 数据库
    1篇
  • ubuntu16.04
    3篇
  • 资源爬取
    1篇
  • tensor操作
    1篇
  • Tensorflow
    25篇
  • 软件安装
    26篇
  • 编程开发
    9篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 1

TA参与的活动 1

兴趣领域 设置
  • 人工智能
    opencv计算机视觉自然语言处理tensorflow图像处理
创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Python使用socket实现简易的http服务

在接触的一些项目中,有时为了方便可视化一些服务状态(请求数很少),那么很容易想到使用http服务来实现。但开源的web后端框架,例如flask,fastapi,django等略显沉重,且使用这些框架会有各种各样的限制,为了更加灵活的使用,可以自己通过Python自带的socket库来实现,下面是我简单实现的代码,贴在这里方便后续使用。
原创
发布博客 2025.01.14 ·
839 阅读 ·
3 点赞 ·
1 评论 ·
0 收藏

Python多进程间通讯(包含共享内存方式)

Python进程间传递数据,包括非共享内存和共享内存两种方式。
原创
发布博客 2024.11.13 ·
1568 阅读 ·
30 点赞 ·
0 评论 ·
26 收藏

如何精确统计Pytorch模型推理时间

通过上面的代码示例可以看到,通过同步函数统计的时间和Event方法统计的时间基本一致(差异1ms内)。通过终端输出可以看到,如果直接在模型推理前后打时间戳相减得到的时间非常短(因为并没有等待Device侧计算完成)。下面示例代码中分别给出了直接在模型推理前后打时间戳相减,使用同步函数以及Event方法统计模型推理时间(每种方法都重复50次,忽略前5次推理,取后45次的平均值)。通过终端打印的结果可以看到无论是使用同步函数还是Event方法统计的model1、model2的推理时间基本是一致的。
原创
发布博客 2024.09.15 ·
2693 阅读 ·
29 点赞 ·
2 评论 ·
42 收藏

提升Python多线程间切换效率

总所周知Python由于GIL的问题,使用多线程时同一时刻只有一个线程在工作。故Python会在所有线程之间不断的切换,每切换到一个线程会执行一段字节码指令然后切换到另一个线程。,如果不休眠部分线程,那么每次切换到非工作线程时就会一直空转浪费资源,从而拖慢了整体效率。例如下面示例代码,总共启动了20个线程,随机分发100个计算10000阶乘的任务。方法让暂时没工作的线程休眠一会,将更多的工作机会提供给真正需要工作的线程,从而提升了整体效率。
原创
发布博客 2024.05.14 ·
1324 阅读 ·
9 点赞 ·
3 评论 ·
3 收藏

Pytorch官方FlashAttention速度测试

接口得到的结果差异有点大(注意,这里计算的Tensor都是FP16精度的),如果我切换到FP32精度差异会再小两个数量级。第二个问题是如果使用FP32的话实测没有明显加速,这个就很奇怪了,官方文档里并没有说专门针对FP16精度优化的。关于这两个问题,暂时猜测是环境问题,或许换个GPU硬件设备或者更新下驱动啥的就可能没有这些问题了。测试前需要将Pytorch的版本更新到2.2及以上,下面是测试代码,一个是原始手写的。,跑了很多次发现确实加速2X左右,看来以后训练或者推理时可以考虑直接使用官方的。
原创
发布博客 2024.04.10 ·
3658 阅读 ·
14 点赞 ·
1 评论 ·
2 收藏

Pytorch导出FP16 ONNX模型

一般Pytorch导出ONNX时默认都是用的FP32,但有时需要导出FP16的ONNX模型,这样在部署时能够方便的将计算以及IO改成FP16,并且ONNX文件体积也会更小。想导出FP16的ONNX模型也比较简单,一般情况下只需要在导出FP32 ONNX的基础上调用下。简单来说就是在推理过程中遇到两种不同类型的数据要计算,torch.cuda.HalfTensor(FP16) 和torch.cuda.FloatTensor(FP32)。并且通过对比可以看到,FP16的ONNX模型比FP32的文件更小(
原创
发布博客 2024.04.09 ·
4803 阅读 ·
13 点赞 ·
6 评论 ·
23 收藏

使用Python制作自己的wheel文件

平时自己利用Python制作一个个小工具后想分享给别人,但又嫌分享一堆项目代码很麻烦,那么你可以考虑将自己的项目打包成一个wheel文件,别人拿到文件后只需。在该文件中描述了制作wheel文件的一些信息,例如wheel包的名称,版本,描述,作者,当前项目依赖的第三方库,协议以及一些快捷脚本的设置等等。是对应当前项目的使用协议,作者可以根据不同用途选择设置不同的协议(这里偷个懒放个空文件)。的作用,这里可以设置一些快捷的启动脚本,例如大家安装了。函数制作为一个快捷的使用脚本,并且这个工具的名称为。
原创
发布博客 2024.03.07 ·
3156 阅读 ·
15 点赞 ·
4 评论 ·
17 收藏

使用nvidia-ml-py实时监控GPU状态

指令,但有时可能不仅仅需要监控,还需要记录状态数据,比如GPU的显存变化以及利用率变化等等。包编写的简易Demo,该Demo能够实现简易版的。平时监控GPU状态最常用的是。
原创
发布博客 2024.03.06 ·
2124 阅读 ·
14 点赞 ·
1 评论 ·
12 收藏

使用Pytorch导出自定义ONNX算子

在实际部署模型时有时可能会遇到想用的算子无法导出onnx,但实际部署的框架是支持该算子的。此时可以通过自定义onnx算子的方式导出onnx模型(注:自定义onnx算子导出onnx模型后是无法使用onnxruntime推理的)。但对于当前导出onnx场景可以不用管它,后面的参数是实际自己传入的参数。方法指定具体导出自定义算子的名称,以及输入的参数(注:上面示例中传入的都是。打开自己导出的onnx文件,可以看到如下所示网络结构。,后面的参数任为实际自己传入的参数,然后通过。方法是在导出onnx时调用的函数。
原创
发布博客 2024.03.04 ·
3517 阅读 ·
23 点赞 ·
10 评论 ·
22 收藏

Python使用graphviz绘制模块间数据流

实现一个Node基类,所有的模块实现都继承自该基类。再实现一个Message基类,模块之间传递的数据都继承自该基类。然后在数据传递过程中记录流经的每个模块的名称以及数据的传递方向即可绘制出想要的数据流。两个文件(如果没有安装graphviz工具是不会生成的),其中。是graphviz的代码形式,执行上述代码后会生成。
原创
发布博客 2024.01.21 ·
1603 阅读 ·
11 点赞 ·
4 评论 ·
11 收藏

libtorch常用函数记录

先占个坑,后续再整理。
原创
发布博客 2023.12.07 ·
1392 阅读 ·
5 点赞 ·
4 评论 ·
4 收藏

使用Pytoch实现Opencv warpAffine方法

随着深度学习的不断发展,GPU/NPU的算力也越来越强,对于一些传统CV计算也希望能够直接在GPU/NPU上进行,例如Opencv的warpAffine方法。Opencv的warpAffine的功能主要是做仿射变换,如果不了解仿射变换的请自行了解。由于Pytorch的图像坐标系(图像左上角对应坐标。图片,左边是通过Opencv warpAffine得到的图片,右边是通过Pytorch grid_sample得到的图片。点,由于Pytorch的图像坐标系是从-1到1,所以对Opencv的坐标做如下变化即可。
原创
发布博客 2023.12.03 ·
1859 阅读 ·
7 点赞 ·
4 评论 ·
3 收藏

pytorch导出rot90算子至onnx

废话不多说,rot90度(以逆时针为例)可以使用翻转和转置实现。具体代码如下,使用torch自带的rot90与自己实现的对比,通过。算子,但又希望一起和模型导出onnx时,可能会遇到如下错误(当前使用环境。简单的说就是不支持导出该算子,包括在onnx支持的算子文档中也找不到。导不出咋办,那就想想旋转矩阵的原理,以及如何使用现有支持的算子替换。rot270度(以逆时针为例)可以使用翻转和转置实现。rot180度(以逆时针为例)可以使用翻转实现。来对比两个Tensor是否一致,结果一致,不信自己试试。
原创
发布博客 2023.11.26 ·
1522 阅读 ·
4 点赞 ·
6 评论 ·
2 收藏

resnet迁移学习

答:
  1. 确认使用的数据集是否一致,划分的训练集以及验证集是否一致
  2. 确认是否使用了对应的预训练权重
  3. 建议先直接使用我github上的代码复现成功后,再自己写一遍。
回答问题 2023.01.11

TensorRT安装记录(8.2.5)

根据官方对于TensorRT的介绍可知,TensorRT是一个针对已训练好模型的SDK,通过该SDK能够在NVIDIA的设备上进行高性能的推理。那么TensorRT具体会对我们训练好的模型做哪些优化呢
原创
发布博客 2022.09.20 ·
23098 阅读 ·
72 点赞 ·
16 评论 ·
124 收藏

MobileViT模型简介

自从2010年ViT(Vision Transformer)模型的横空出世,人们发现了Transformer架构在视觉领域的巨大潜力。近些年,越来越多的科研人员投入Transformer的怀抱,视觉领域的各项任务也不断被Transformer架构模型刷新。Transformer虽然强大,但在现在看来落地仍存在很多难点。比如模型参数太大(比如ViT Large Patch16模型光权重就有1个多G),而且算力要求太高,这基本就给移动端部署Transformer模型判了死刑。
原创
发布博客 2022.09.05 ·
43989 阅读 ·
260 点赞 ·
41 评论 ·
536 收藏

U2Net网络简介

U2Net是阿尔伯塔大学(University of Alberta)在2020年发表在CVPR上的一篇文章。该文章中提出的U2Net是针对Salient Object Detetion(SOD)即显著性目标检测任务提出的。而显著性目标检测任务与语义分割任务非常相似,只不过显著性目标检测任务是二分类任务,它的任务是将图片中最吸引人的目标或区域分割出来,故只有前景和背景两类。......
原创
发布博客 2022.08.09 ·
25231 阅读 ·
67 点赞 ·
23 评论 ·
264 收藏

RepVGG网络简介

VGG网络是2014年由牛津大学著名研究组VGG (Visual Geometry Group) 提出的。在2014到2016年(ResNet提出之前),VGG网络可以说是当时最火并被广泛应用的Backbone。后面由于各种新的网络提出,论精度VGG比不上ResNet,论速度和参数数量VGG比不过MobileNet等轻量级网络,慢慢的VGG开始淡出人们的视线。...............
原创
发布博客 2022.07.10 ·
36935 阅读 ·
308 点赞 ·
31 评论 ·
613 收藏

YOLOX网络结构详解

在之前文章中我们已经聊过YOLO v5了,今天我们再来聊聊YOLOX。YOLOX是旷视科技在2021年发表的一篇文章,当时主要对标的网络就是很火的YOLO v5,如果对YOLO v5不了解的可以看下我之前的文章。那么在YOLOX中引入了当年的哪些黑科技呢,简单总结主要有三点,decoupled head、anchor-free以及advanced label assigning strategy(SimOTA)。............
原创
发布博客 2022.06.07 ·
49564 阅读 ·
217 点赞 ·
41 评论 ·
530 收藏

FCOS网络解析

在之前讲的一些目标检测网络中,比如Faster RCNN系列、SSD、YOLOv2~v5(注意YOLOv1不包括在内)都是基于Anchor进行预测的。即先在原图上生成一堆密密麻麻的Anchor Boxes,然后网络基于这些Anchor去预测它们的类别、中心点偏移量以及宽高缩放因子得到网络预测输出的目标,最后通过NMS即可得到最终预测目标。那基于Anchor的网络存在哪些问题呢...
原创
发布博客 2022.05.21 ·
24635 阅读 ·
208 点赞 ·
22 评论 ·
366 收藏
加载更多