首页 > 分享 > 太阳花的小绿豆

太阳花的小绿豆

Python多进程间通讯(包含共享内存方式) Python进程间传递数据,包括非共享内存和共享内存两种方式。 原创 发布博客 2024.11.13 · 740 阅读 · 25 点赞 · 0 评论 · 23 收藏
如何精确统计Pytorch模型推理时间 通过上面的代码示例可以看到,通过同步函数统计的时间和Event方法统计的时间基本一致(差异1ms内)。通过终端输出可以看到,如果直接在模型推理前后打时间戳相减得到的时间非常短(因为并没有等待Device侧计算完成)。下面示例代码中分别给出了直接在模型推理前后打时间戳相减,使用同步函数以及Event方法统计模型推理时间(每种方法都重复50次,忽略前5次推理,取后45次的平均值)。通过终端打印的结果可以看到无论是使用同步函数还是Event方法统计的model1、model2的推理时间基本是一致的。 原创 发布博客 2024.09.15 · 1753 阅读 · 23 点赞 · 0 评论 · 31 收藏
Python多线程加速-休眠部分线程 总所周知Python由于GIL的问题,使用多线程时同一时刻只有一个线程在工作。故Python会在所有线程之间不断的切换,每切换到一个线程会执行一段字节码指令然后切换到另一个线程。,如果不休眠部分线程,那么每次切换到非工作线程时就会一直空转浪费资源,从而拖慢了整体效率。例如下面示例代码,总共启动了20个线程,随机分发100个计算10000阶乘的任务。方法让暂时没工作的线程休眠一会,将更多的工作机会提供给真正需要工作的线程,从而提升了整体效率。 原创 发布博客 2024.05.14 · 1045 阅读 · 8 点赞 · 2 评论 · 2 收藏
Pytorch官方FlashAttention速度测试 接口得到的结果差异有点大(注意,这里计算的Tensor都是FP16精度的),如果我切换到FP32精度差异会再小两个数量级。第二个问题是如果使用FP32的话实测没有明显加速,这个就很奇怪了,官方文档里并没有说专门针对FP16精度优化的。关于这两个问题,暂时猜测是环境问题,或许换个GPU硬件设备或者更新下驱动啥的就可能没有这些问题了。测试前需要将Pytorch的版本更新到2.2及以上,下面是测试代码,一个是原始手写的。,跑了很多次发现确实加速2X左右,看来以后训练或者推理时可以考虑直接使用官方的。 原创 发布博客 2024.04.10 · 2201 阅读 · 13 点赞 · 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 · 3209 阅读 · 13 点赞 · 5 评论 · 20 收藏
使用Python制作自己的wheel文件 平时自己利用Python制作一个个小工具后想分享给别人,但又嫌分享一堆项目代码很麻烦,那么你可以考虑将自己的项目打包成一个wheel文件,别人拿到文件后只需。在该文件中描述了制作wheel文件的一些信息,例如wheel包的名称,版本,描述,作者,当前项目依赖的第三方库,协议以及一些快捷脚本的设置等等。是对应当前项目的使用协议,作者可以根据不同用途选择设置不同的协议(这里偷个懒放个空文件)。的作用,这里可以设置一些快捷的启动脚本,例如大家安装了。函数制作为一个快捷的使用脚本,并且这个工具的名称为。 原创 发布博客 2024.03.07 · 2186 阅读 · 14 点赞 · 4 评论 · 16 收藏
使用nvidia-ml-py实时监控GPU状态 指令,但有时可能不仅仅需要监控,还需要记录状态数据,比如GPU的显存变化以及利用率变化等等。包编写的简易Demo,该Demo能够实现简易版的。平时监控GPU状态最常用的是。 原创 发布博客 2024.03.06 · 1662 阅读 · 11 点赞 · 0 评论 · 10 收藏
使用Pytorch导出自定义ONNX算子 在实际部署模型时有时可能会遇到想用的算子无法导出onnx,但实际部署的框架是支持该算子的。此时可以通过自定义onnx算子的方式导出onnx模型(注:自定义onnx算子导出onnx模型后是无法使用onnxruntime推理的)。但对于当前导出onnx场景可以不用管它,后面的参数是实际自己传入的参数。方法指定具体导出自定义算子的名称,以及输入的参数(注:上面示例中传入的都是。打开自己导出的onnx文件,可以看到如下所示网络结构。,后面的参数任为实际自己传入的参数,然后通过。方法是在导出onnx时调用的函数。 原创 发布博客 2024.03.04 · 2543 阅读 · 21 点赞 · 7 评论 · 17 收藏
Python使用graphviz绘制模块间数据流 实现一个Node基类,所有的模块实现都继承自该基类。再实现一个Message基类,模块之间传递的数据都继承自该基类。然后在数据传递过程中记录流经的每个模块的名称以及数据的传递方向即可绘制出想要的数据流。两个文件(如果没有安装graphviz工具是不会生成的),其中。是graphviz的代码形式,执行上述代码后会生成。 原创 发布博客 2024.01.21 · 1409 阅读 · 11 点赞 · 4 评论 · 11 收藏
libtorch常用函数记录 先占个坑,后续再整理。 原创 发布博客 2023.12.07 · 1239 阅读 · 4 点赞 · 4 评论 · 3 收藏
使用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 · 1562 阅读 · 6 点赞 · 3 评论 · 2 收藏
pytorch导出rot90算子至onnx 废话不多说,rot90度(以逆时针为例)可以使用翻转和转置实现。具体代码如下,使用torch自带的rot90与自己实现的对比,通过。算子,但又希望一起和模型导出onnx时,可能会遇到如下错误(当前使用环境。简单的说就是不支持导出该算子,包括在onnx支持的算子文档中也找不到。导不出咋办,那就想想旋转矩阵的原理,以及如何使用现有支持的算子替换。rot270度(以逆时针为例)可以使用翻转和转置实现。rot180度(以逆时针为例)可以使用翻转实现。来对比两个Tensor是否一致,结果一致,不信自己试试。 原创 发布博客 2023.11.26 · 1394 阅读 · 4 点赞 · 6 评论 · 2 收藏
resnet迁移学习 答:确认使用的数据集是否一致,划分的训练集以及验证集是否一致确认是否使用了对应的预训练权重建议先直接使用我github上的代码复现成功后,再自己写一遍。 回答问题 2023.01.11
TensorRT安装记录(8.2.5) 根据官方对于TensorRT的介绍可知,TensorRT是一个针对已训练好模型的SDK,通过该SDK能够在NVIDIA的设备上进行高性能的推理。那么TensorRT具体会对我们训练好的模型做哪些优化呢 原创 发布博客 2022.09.20 · 19963 阅读 · 66 点赞 · 15 评论 · 110 收藏
MobileViT模型简介 自从2010年ViT(Vision Transformer)模型的横空出世,人们发现了Transformer架构在视觉领域的巨大潜力。近些年,越来越多的科研人员投入Transformer的怀抱,视觉领域的各项任务也不断被Transformer架构模型刷新。Transformer虽然强大,但在现在看来落地仍存在很多难点。比如模型参数太大(比如ViT Large Patch16模型光权重就有1个多G),而且算力要求太高,这基本就给移动端部署Transformer模型判了死刑。 原创 发布博客 2022.09.05 · 38825 阅读 · 236 点赞 · 38 评论 · 470 收藏
U2Net网络简介 U2Net是阿尔伯塔大学(University of Alberta)在2020年发表在CVPR上的一篇文章。该文章中提出的U2Net是针对Salient Object Detetion(SOD)即显著性目标检测任务提出的。而显著性目标检测任务与语义分割任务非常相似,只不过显著性目标检测任务是二分类任务,它的任务是将图片中最吸引人的目标或区域分割出来,故只有前景和背景两类。...... 原创 发布博客 2022.08.09 · 23869 阅读 · 65 点赞 · 23 评论 · 248 收藏
RepVGG网络简介 VGG网络是2014年由牛津大学著名研究组VGG (Visual Geometry Group) 提出的。在2014到2016年(ResNet提出之前),VGG网络可以说是当时最火并被广泛应用的Backbone。后面由于各种新的网络提出,论精度VGG比不上ResNet,论速度和参数数量VGG比不过MobileNet等轻量级网络,慢慢的VGG开始淡出人们的视线。............... 原创 发布博客 2022.07.10 · 34468 阅读 · 294 点赞 · 31 评论 · 572 收藏
YOLOX网络结构详解 在之前文章中我们已经聊过YOLO v5了,今天我们再来聊聊YOLOX。YOLOX是旷视科技在2021年发表的一篇文章,当时主要对标的网络就是很火的YOLO v5,如果对YOLO v5不了解的可以看下我之前的文章。那么在YOLOX中引入了当年的哪些黑科技呢,简单总结主要有三点,decoupled head、anchor-free以及advanced label assigning strategy(SimOTA)。............ 原创 发布博客 2022.06.07 · 47219 阅读 · 209 点赞 · 39 评论 · 513 收藏
FCOS网络解析 在之前讲的一些目标检测网络中,比如Faster RCNN系列、SSD、YOLOv2~v5(注意YOLOv1不包括在内)都是基于Anchor进行预测的。即先在原图上生成一堆密密麻麻的Anchor Boxes,然后网络基于这些Anchor去预测它们的类别、中心点偏移量以及宽高缩放因子得到网络预测输出的目标,最后通过NMS即可得到最终预测目标。那基于Anchor的网络存在哪些问题呢... 原创 发布博客 2022.05.21 · 22631 阅读 · 194 点赞 · 22 评论 · 337 收藏
HRNet网络简介 这篇文章是由中国科学技术大学和亚洲微软研究院在2019年共同发表的。这篇文章中的HRNet(High-Resolution Net)是针对2D人体姿态估计(Human Pose Estimation或Keypoint Detection)任务提出的,并且该网络主要是针对单一个体的姿态评估(即输入网络的图像中应该只有一个人体目标)。人体姿态估计在现今的应用场景也比较多,比如说人体行为动作识别,人机交互(比如人作出某种动作可以触发系统执行某些任务),动画制作(比如根据人体的关键点信息生成对应卡通人物的动作)等等 原创 发布博客 2022.05.12 · 88370 阅读 · 277 点赞 · 70 评论 · 743 收藏

相关知识

绿豆种子的形态和特征(探究绿豆种子的外貌)
如何防治绿豆锈病 绿豆锈病防治措施
水培绿豆观察日记(优质6篇)
玉米与绿豆间作对玉米和绿豆害虫及天敌的影响
绿豆的起源与历史传承(探究绿豆在世界范围内的分布及文化价值)
绿豆病虫害的农药防治手段
绿豆的采摘和上市时间(了解绿豆成熟的季节和市场销售时间)
绿豆花期病害要及时防治
绿豆高产栽培与病虫害防治技术
2019年绿豆生产技术指导意见

网址: 太阳花的小绿豆 https://m.huajiangbk.com/newsview640363.html

所属分类:花卉
上一篇: 太阳花 (Daybloom)
下一篇: 太阳花(红色)(Tubastra