目标检测算法——YOLOv5/v7/v8改进结合涨点Trick之Wise-IoU(超越CIOU/SIOU)
超越CIOU/SIOU | Wise-IoU助力YOLO强势涨点!!!
论文题目:Wise-IoU: Bounding Box Regression Loss with Dynamic Focusing Mechanism
论文链接:https://arxiv.org/abs/2301.10051
近年来的研究大多假设训练数据中的示例有较高的质量,致力于强化边界框损失的拟合能力。但注意到目标检测训练集中含有低质量示例,如果一味地强化边界框对低质量示例的回归,显然会危害模型检测性能的提升。
Focal-EIoU v1 被提出以解决这个问题,但由于其聚焦机制是静态的,并未充分挖掘非单调聚焦机制的潜能。基于这个观点,作者提出了动态非单调的聚焦机制,设计了 Wise-IoU (WIoU)。动态非单调聚焦机制使用“离群度”替代 IoU 对锚框进行质量评估,并提供了明智的梯度增益分配策略。该策略在降低高质量锚框的竞争力的同时,也减小了低质量示例产生的有害梯度。这使得 WIoU 可以聚焦于普通质量的锚框,并提高检测器的整体性能。将WIoU应用于最先进的单级检测器 YOLOv7 时,在 MS-COCO 数据集上的 AP-75 从 53.03% 提升到 54.50%。
一、 Wise-IoU相关代码
import mathimport torchclass IoU_Cal:''' pred, target: x0,y0,x1,y1monotonous: {None: originTrue: monotonic FMFalse: non-monotonic FM}momentum: The momentum of running mean (This can be set by the function <momentum_estimation>)'''iou_mean = 1.monotonous = Falsemomentum = 1 - pow(0.05, 1 / (890 * 34))_is_train = True@classmethoddef momentum_estimation(cls, n, t):''' n: Number of batches per training epocht: The epoch when mAP's ascension slowed significantly'''time_to_real = n * tcls.momentum = 1 - pow(0.05, 1 / time_to_real)return cls.momentumdef __init__(self, pred, target):self.pred, self.target = pred, targetself._fget = {# x,y,w,h'pred_xy': lambda: (self.pred[..., :2] + self.pred[..., 2: 4]) / 2,'pred_wh': lambda: self.pred[..., 2: 4] - self.pred[..., :2],'target_xy': lambda: (self.target[..., :2] + self.target[..., 2: 4]) / 2,'target_wh': lambda: self.target[..., 2: 4] - self.target[..., :2],# x0,y0,x1,y1'min_coord': lambda: torch.minimum(self.pred[..., :4], self.target[..., :4]),'max_coord': lambda: torch.maximum(self.pred[..., :4], self.target[..., :4]),# The overlapping region'wh_inter': lambda: torch.relu(self.min_coord[..., 2: 4] - self.max_coord[..., :2]),'s_inter': lambda: torch.prod(self.wh_inter, dim=-1),# The area covered's_union': lambda: torch.prod(self.pred_wh, dim=-1) +torch.prod(self.target_wh, dim=-1) - self.s_inter,# The smallest enclosing box'wh_box': lambda: self.max_coord[..., 2: 4] - self.min_coord[..., :2],'s_box': lambda: torch.prod(self.wh_box, dim=-1),'l2_box': lambda: torch.square(self.wh_box).sum(dim=-1),# The central points' connection of the bounding boxes'd_center': lambda: self.pred_xy - self.target_xy,'l2_center': lambda: torch.square(self.d_center).sum(dim=-1),# IoU'iou': lambda: 1 - self.s_inter / self.s_union}self._update(self)def __setitem__(self, key, value):self._fget[key] = valuedef __getattr__(self, item):if callable(self._fget[item]):self._fget[item] = self._fget[item]()return self._fget[item]@classmethoddef train(cls):cls._is_train = True@classmethoddef eval(cls):cls._is_train = False@classmethoddef _update(cls, self):if cls._is_train: cls.iou_mean = (1 - cls.momentum) * cls.iou_mean + \cls.momentum * self.iou.detach().mean().item()def _scaled_loss(self, loss, alpha=1.9, delta=3):if isinstance(self.monotonous, bool):beta = self.iou.detach() / self.iou_meanif self.monotonous:loss *= beta.sqrt()else:divisor = delta * torch.pow(alpha, beta - delta)loss *= beta / divisorreturn loss@classmethoddef IoU(cls, pred, target, self=None):self = self if self else cls(pred, target)return self.iou@classmethoddef WIoU(cls, pred, target, self=None):self = self if self else cls(pred, target)dist = torch.exp(self.l2_center / self.l2_box.detach())return self._scaled_loss(dist * self.iou)@classmethoddef EIoU(cls, pred, target, self=None):self = self if self else cls(pred, target)penalty = self.l2_center / self.l2_box.detach() \+ torch.square(self.d_center / self.wh_box).sum(dim=-1)return self._scaled_loss(self.iou + penalty)@classmethoddef GIoU(cls, pred, target, self=None):self = self if self else cls(pred, target)return self._scaled_loss(self.iou + (self.s_box - self.s_union) / self.s_box)@classmethoddef DIoU(cls, pred, target, self=None):self = self if self else cls(pred, target)return self._scaled_loss(self.iou + self.l2_center / self.l2_box)@classmethoddef CIoU(cls, pred, target, eps=1e-4, self=None):self = self if self else cls(pred, target)v = 4 / math.pi ** 2 * \(torch.atan(self.pred_wh[..., 0] / (self.pred_wh[..., 1] + eps)) -torch.atan(self.target_wh[..., 0] / (self.target_wh[..., 1] + eps))) ** 2alpha = v / (self.iou + v)return self._scaled_loss(self.iou + self.l2_center / self.l2_box + alpha.detach() * v)@classmethoddef SIoU(cls, pred, target, theta=4, self=None):self = self if self else cls(pred, target)# Angle Costangle = torch.arcsin(torch.abs(self.d_center).min(dim=-1)[0] / (self.l2_center.sqrt() + 1e-4))angle = torch.sin(2 * angle) - 2# Dist Costdist = angle[..., None] * torch.square(self.d_center / self.wh_box)dist = 2 - torch.exp(dist[..., 0]) - torch.exp(dist[..., 1])# Shape Costd_shape = torch.abs(self.pred_wh - self.target_wh)big_shape = torch.maximum(self.pred_wh, self.target_wh)w_shape = 1 - torch.exp(- d_shape[..., 0] / big_shape[..., 0])h_shape = 1 - torch.exp(- d_shape[..., 1] / big_shape[..., 1])shape = w_shape ** theta + h_shape ** thetareturn self._scaled_loss(self.iou + (dist + shape) / 2)
二、实验对比结果
🚀🏆🍀【算法创新&算法训练&论文投稿】相关链接👇👇👇
✨【YOLO创新算法尝新系列】✨
🏂 美团出品 | YOLOv6 v3.0 is Coming(超越YOLOv7、v8)
🏂 官方正品 | Ultralytics YOLOv8算法来啦(尖端SOTA模型)
🏂 改进YOLOv5/YOLOv7——魔改YOLOv5/YOLOv7提升检测精度(涨点必备)
————————————🌴【重磅干货来袭】🎄————————————
🚀一、主干网络改进(持续更新中)🎄🎈
1.目标检测算法——YOLOv5/YOLOv7改进之结合ConvNeXt结构(纯卷积|超越Swin)
2.目标检测算法——YOLOv5/YOLOv7改进之结合MobileOne结构(高性能骨干|仅需1ms)
3.目标检测算法——YOLOv5/YOLOv7改进之结合Swin Transformer V2(涨点神器)
4.目标检测算法——YOLOv5/YOLOv7改进结合BotNet(Transformer)
5.目标检测算法——YOLOv5/YOLOv7改进之GSConv+Slim Neck(优化成本)
6.目标检测算法——YOLOv5/YOLOv7改进结合新神经网络算子Involution(CVPR 2021)
7.目标检测算法——YOLOv7改进|增加小目标检测层
8.目标检测算法——YOLOv5改进|增加小目标检测层
🌴 持续更新中……
🚀二、轻量化网络(持续更新中)🎄🎈
1.目标检测算法——YOLOv5/YOLOv7改进之结合RepVGG(速度飙升)
2.目标检测算法——YOLOv5/YOLOv7改进之结合PP-LCNet(轻量级CPU网络)
3.目标检测算法——YOLOv5/YOLOv7改进之结合轻量化网络MobileNetV3(降参提速)
4.目标检测算法——YOLOv5/YOLOv7改进|结合轻量型网络ShuffleNetV2
5.目标检测算法——YOLOv5/YOLOv7改进结合轻量型Ghost模块
🌴 持续更新中……
🚀三、注意力机制(持续更新中)🎄🎈
1.目标检测算法——YOLOv5改进之结合CBAM注意力机制
2.目标检测算法——YOLOv7改进之结合CBAM注意力机制
3.目标检测算法——YOLOv5/YOLOv7之结合CA注意力机制
4.目标检测算法——YOLOv5/YOLOv7改进之结合ECA注意力机制
5.目标检测算法——YOLOv5/YOLOv7改进之结合NAMAttention(提升涨点)
6.目标检测算法——YOLOv5/YOLOv7改进之结合GAMAttention
7.目标检测算法——YOLOv5/YOLOv7改进之结合无参注意力SimAM(涨点神器)
8.目标检测算法——YOLOv5/YOLOv7改进之结合Criss-Cross Attention
9.目标检测算法——YOLOv5/YOLOv7改进之结合SOCA(单幅图像超分辨率)
🌴 持续更新中……
🚀四、检测头部改进(持续更新中)🎄🎈
1.魔改YOLOv5/v7高阶版(魔法搭配+创新组合)——改进之结合解耦头Decoupled_Detect
2.目标检测算法——YOLOv5/YOLOv7改进结合涨点Trick之ASFF(自适应空间特征融合)
🌴 持续更新中……
🚀五、空间金字塔池化(持续更新中)🎄🎈
1.目标检测算法——YOLOv5/YOLOv7改进之结合ASPP(空洞空间卷积池化金字塔)
2.目标检测算法——YOLOv5/YOLOv7改进之结合特征提取网络RFBNet(涨点明显)
🌴 持续更新中……
🚀六、损失函数及NMS改进(持续更新中)🎄🎈
1.目标检测算法——YOLOv5/YOLOv7改进|将IOU Loss替换为EIOU Loss
2.目标检测算法——助力涨点 | YOLOv5改进结合Alpha-IoU
3.目标检测算法——YOLOv5/YOLOv7改进之结合SIoU
4.目标检测算法——YOLOv5将NMS替换为DIoU-NMS
🌴 持续更新中……
🚀七、其他创新改进项目(持续更新中)🎄🎈
1.手把手教你搭建属于自己的PyQt5-YOLOv5目标检测平台(保姆级教程)
2.YOLO算法改进之结合GradCAM可视化热力图(附详细教程)
3.目标检测算法——YOLOv5/YOLOv7改进之结合SPD-Conv(低分辨率图像和小目标涨点明显)
4.目标检测算法——YOLOv5/YOLOv7改进之更换FReLU激活函数
5.目标检测算法——YOLOv5/YOLOv7改进之结合BiFPN
🌴 持续更新中……
🚀八、算法训练相关项目(持续更新中)🎄🎈
1.目标检测算法——YOLOv7训练自己的数据集(保姆级教程)
2.人工智能前沿——玩转OpenAI语音机器人ChatGPT(中文版)
3.深度学习之语义分割算法(入门学习)
4.知识经验分享——YOLOv5-6.0训练出错及解决方法(RuntimeError)
5.目标检测算法——将xml格式转换为YOLOv5格式txt
6.目标检测算法——YOLOv5/YOLOv7如何改变bbox检测框的粗细大小
7.人工智能前沿——6款AI绘画生成工具
8.YOLOv5结合人体姿态估计
9.超越YOLOv5,0.7M超轻量,又好又快(PP-YOLOE&PP-PicoDet)
10.目标检测算法——收藏|小目标检测的定义(一)
11.目标检测算法——收藏|小目标检测难点分析(二)
12.目标检测算法——收藏|小目标检测解决方案(三)
🌴 持续更新中……
🚀九、数据资源相关项目(持续更新中)🎄🎈
1.目标检测算法——小目标检测相关数据集(附下载链接)
2.目标检测算法——3D公共数据集汇总(附下载链接)
3.目标检测算法——3D公共数据集汇总 2(附下载链接)
4.目标检测算法——行人检测&人群计数数据集汇总(附下载链接)
5.目标检测算法——遥感影像数据集资源汇总(附下载链接)
6.目标检测算法——自动驾驶开源数据集汇总(附下载链接)
7.目标检测算法——自动驾驶开源数据集汇总 2(附下载链接)
8.目标检测算法——图像分类开源数据集汇总(附下载链接)
9.目标检测算法——医学图像开源数据集汇总(附下载链接)
10.目标检测算法——工业缺陷数据集汇总1(附下载链接)
11.目标检测算法——工业缺陷数据集汇总2(附下载链接)
12.目标检测算法——垃圾分类数据集汇总(附下载链接)
13.目标检测算法——人脸识别数据集汇总(附下载链接)
14.目标检测算法——安全帽识别数据集(附下载链接)
15.目标检测算法——人体姿态估计数据集汇总(附下载链接)
16.目标检测算法——人体姿态估计数据集汇总 2(附下载链接)
17.目标检测算法——车辆牌照识别数据集汇总(附下载链接)
18.目标检测算法——车辆牌照识别数据集汇总 2(附下载链接)
19.收藏 | 机器学习公共数据集集锦(附下载链接)
20.目标检测算法——图像分割数据集汇总(附下载链接)
21.目标检测算法——图像分割数据集汇总 2(附下载链接)
22.收藏 | 自然语言处理(NLP)数据集汇总(附下载链接)
23.自然语言处理(NLP)数据集汇总 2(附下载链接)
24.自然语言处理(NLP)数据集汇总 3(附下载链接)
25.自然语言处理(NLP)数据集汇总 4(附下载链接)
26.目标检测算法——关键点检测数据集汇总(附下载链接)
27.目标检测算法——图像去雾开源数据集汇总(速速收藏)
🌴 持续更新中……
🚀十、论文投稿相关项目(持续更新中)🎄🎈
1.论文投稿指南——收藏|SCI论文投稿注意事项(提高命中率)
2.论文投稿指南——收藏|SCI论文怎么投?(Accepted)
3.论文投稿指南——收藏|SCI写作投稿发表全流程
4.论文投稿指南——收藏|如何选择SCI期刊(含选刊必备神器)
5.论文投稿指南——SCI选刊
6.论文投稿指南——SCI投稿各阶段邮件模板
7.人工智能前沿——深度学习热门领域(确定选题及研究方向)
8.人工智能前沿——2022年最流行的十大AI技术
9.人工智能前沿——未来AI技术的五大应用领域
10.人工智能前沿——无人自动驾驶技术
11.人工智能前沿——AI技术在医疗领域的应用
12.人工智能前沿——随需应变的未来大脑
13.目标检测算法——深度学习知识简要普及
14.目标检测算法——10种深度学习框架介绍
15.目标检测算法——为什么我选择PyTorch?
16.知识经验分享——超全激活函数解析(数学原理+优缺点)
17.知识经验分享——卷积神经网络(CNN)
18.海带软件分享——Office 2021全家桶安装教程(附报错解决方法)
19.海带软件分享——日常办公学习软件分享(收藏)
20.论文投稿指南——计算机视觉 (Computer Vision) 顶会归纳
21.论文投稿指南——中文核心期刊
22.论文投稿指南——计算机领域核心期刊
23.论文投稿指南——中文核心期刊推荐(计算机技术)
24.论文投稿指南——中文核心期刊推荐(计算机技术2)
25.论文投稿指南——中文核心期刊推荐(计算机技术3)
26.论文投稿指南——中文核心期刊推荐(电子、通信技术)
27.论文投稿指南——中文核心期刊推荐(电子、通信技术2)
28.论文投稿指南——中文核心期刊推荐(电子、通信技术3)
29.论文投稿指南——中文核心期刊推荐(机械、仪表工业)
30.论文投稿指南——中文核心期刊推荐(机械、仪表工业2)
31.论文投稿指南——中文核心期刊推荐(机械、仪表工业3)
32.论文投稿指南——中国(中文EI)期刊推荐(第1期)
33.论文投稿指南——中国(中文EI)期刊推荐(第2期)
34.论文投稿指南——中国(中文EI)期刊推荐(第3期)
35.论文投稿指南——中国(中文EI)期刊推荐(第4期)
36.论文投稿指南——中国(中文EI)期刊推荐(第5期)
37.论文投稿指南——中国(中文EI)期刊推荐(第6期)
38.论文投稿指南——中国(中文EI)期刊推荐(第7期)
39.论文投稿指南——中国(中文EI)期刊推荐(第8期)
40.【1】SCI易中期刊推荐——计算机方向(中科院3区)
41.【2】SCI易中期刊推荐——遥感图像领域(中科院2区)
42.【3】SCI易中期刊推荐——人工智能领域(中科院1区)
43.【4】SCI易中期刊推荐——神经科学研究(中科院4区)
44.【5】SCI易中期刊推荐——计算机科学(中科院2区)
45.【6】SCI易中期刊推荐——人工智能&神经科学&机器人学(中科院3区)
46.【7】SCI易中期刊推荐——计算机 | 人工智能(中科院4区)
47.【8】SCI易中期刊推荐——图像处理领域(中科院4区)
48.【9】SCI易中期刊推荐——工程技术-计算机:软件工程(中科院4区)
49.【10】SCI易中期刊推荐——工程技术-计算机:人工智能(中科院2区)
50.【11】SCI易中期刊推荐——计算机方向(中科院4区)
51.【12】SCI易中期刊推荐——计算机信息系统(中科院4区)
🌴 持续更新中……
关于YOLO算法改进&论文投稿可关注并留言博主的CSDN/QQ
>>>一起交流!互相学习!共同进步!<<<
相关文章:
目标检测算法——YOLOv5/v7/v8改进结合涨点Trick之Wise-IoU(超越CIOU/SIOU)
超越CIOU/SIOU | Wise-IoU助力YOLO强势涨点!!! 论文题目:Wise-IoU: Bounding Box Regression Loss with Dynamic Focusing Mechanism 论文链接:https://arxiv.org/abs/2301.10051 近年来的研究大多假设训练数据中的…...
【蓝桥杯选拔赛真题39】python输出数字组合 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析
目录 python输出数字组合 一、题目要求 1、编程实现 2、输入输出...
网络安全工程师做什么?
网络安全很复杂。数字化转型、远程工作和不断变化的威胁形势需要不同的工具和不同的技能组合。 系统必须到位以保护端点、身份和无边界网络边界。负责处理这种复杂安全基础设施的工作角色是网络安全工程师。 简而言之,网络安全工程师是负责设计和实施组织安全系…...
总结:K8S运维常用命令
一、部署./kubectl apply -f biz-healing-pod.yaml 二、查看部署的资源1、podkubectl get pod -A:获取所有pod没有IP?用-o wide参数看详细信息:./kubectl get pod -n deepflow -o wide2、service查看hubble-manager命名空间下有哪些service/d…...
你是真的“C”——进行动态内存分配库函数的使用详解
你是真的“C”——申请动态空间库函数的使用详解😎前言🙌一、为什么需要动态内存分配?💞free 函数😘malloc 库函数😘calloc 库函数😘realloc 库函数😘总结撒花💞…...
Python|蓝桥杯进阶第五卷——数论
欢迎交流学习~~ 专栏: 蓝桥杯Python组刷题日寄 蓝桥杯进阶系列: 🏆 Python | 蓝桥杯进阶第一卷——字符串 🔎 Python | 蓝桥杯进阶第二卷——贪心 💝 Python | 蓝桥杯进阶第三卷——动态规划 ✈️ Python | 蓝桥杯进阶…...
用Python实现单例模式
什么是单例模式单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地方都共享这一单例对象…...
交叉编译说明:工具链安装和环境变量配置
目录 一 简单了解交叉编译 ① 什么是交叉编译 ② 为什么需要交叉编译 ③ 宿主机和目标机 二 搭建交叉编译工作环境 ① 安装工具链 ② 配置环境变量 ● 配置临时环境变量 ● 配置永久环境变量 三 交叉编译宿主机和目标机 ● 宿主机编译生成的可执行文件下载到目…...
文件上传的多种利用方式
文件上传的多种利用方式 文件上传漏洞除了可以通过绕过检测进行webshell的上传之外,还有多种其它的漏洞可以进行测试。 XSS漏洞 文件名造成的XSS 当上传任何文件时,文件名肯定是会反显示在网页上,可以使用 XSS Payload做文件名尝试将其上传到…...
盘一盘C++的类型描述符(二)
先序文章请看 盘一盘C的类型描述符(一) 稍微组合一下的复杂类型 数组指针类型的数组类型 数组的指针类型我们已经了解了,那么,以这种类型作为元素的数组类型怎么搞? using type int (*)[3]; // 元素类型是数组指针…...
慎投,Frontiers这本期刊显示on hold中
什么是“On Hold”? 该期刊因为质量问题正在被进行重新评估;在重新评估过程中,不会检索新发表的文章。该期刊因为质量问题正在被进行重新评估;在重新评估过程中,不会检索新发表的文章。根据选择标准,在最严…...
Winform控件开发(21)——ProgressBar(史上最全)
一、属性 1、Name 用于获取控件对象 2、Anchor 锚定控件对于父控件的位置 3、BackColor 背景色 4、ContextMenuStrip 关联的上下文菜单 5、Cursor 鼠标移动到控件上显示的光标 6、Dock 停靠在父控件的位置 7、Enabled 是否启动该控件,false时事件都不能触发 8、…...
校招失败后,在外包公司熬了 2 年终于进了字节跳动,竭尽全力....
其实两年前校招的时候就往字节投了一次简历,结果很明显凉了,随后这个理想就被暂时放下了,但是这个种子一直埋在心里这两年除了工作以外,也会坚持写博客,也因此结识了很多优秀的小伙伴,从他们身上学到了特别…...
UniApp + SpringBoot 实现接入支付宝支付功能和退款功能
一、支付宝开放平台设置 注册支付宝支付功能需要个体工商户或企业才可以!需要有营业执照才能去申请哦! 1、登录到控制台 进入支付宝开放平台 控制台 2、开发设置 3、产品绑定APP支付 如果没有绑定APP支付就会报商家订单参数异常,请重新发起…...
初识进程
文章目录一、进程的概念1. 进程是什么及进程的管理2. Linux 下的 pcb3. 系统调用接口 getpid 和 getppid4. 系统调用接口 fork一、进程的概念 1. 进程是什么及进程的管理 在 Linux下 ./binaryfile 运行一个程序或者在 Windows下双击运行一个程序时,程序就变成了一个…...
SOAP传输协议
一.HTTP传输协议 超文本传输协议(HyperText Transfer Protocol,缩写:HTTP),它是基于请求-响应的模式协议,客户端发出请求,服务器端给出响应并返回请求内容。方法如下,HTTP传输协议常…...
<Linux>进程控制
进程控制 文章目录进程控制一、进程创建1.fork函数认识2.写时拷贝3.fork常规用法4.fork调用失败的原因二、进程终止1.进程退出场景2.进程退出码3.进程退出的方式三、进程等待1.进程等待是什么?2.进程等待的必要性3.进程等待的方法3.1.wait函数3.2.waitpid函数4.如何…...
有手就行 -- 搭建图床(PicGo+腾讯云)
🍳作者:贤蛋大眼萌,一名很普通但不想普通的程序媛\color{#FF0000}{贤蛋 大眼萌 ,一名很普通但不想普通的程序媛}贤蛋大眼萌,一名很普通但不想普通的程序媛🤳 🙊语录:多一些不为什么的…...
“蓝桥杯”递推和递归(一)——取数位
1. 算法简介 递推和递归虽然叫法不同,但它们的基本思想是一致的,在很多程序中,这两种算法可以通用,不同的是递推法效率更高,递归法更方便阅读。 (1)递推法 递推法是一种重要的数学方法&#…...
蓝桥杯·3月份刷题集训Day02
本篇博客旨在记录自已打卡蓝桥杯3月份刷题集训,同时会有自己的思路及代码解答希望可以给小伙伴一些帮助。本人也是算法小白,水平有限,如果文章中有什么错误之处,希望小伙伴们可以在评论区指出来,共勉💪。 文…...
python --获取内网IP地址
方法一 import socketdef get_local_ip_address():ip_address try:# 获取本机主机名hostname socket.gethostname()# 获取本机IPip_address socket.gethostbyname(hostname)except:passreturn ip_address方法二 import subprocessdef get_local_ip_address():ip_address …...
如何衡量你的Facebook广告活动的成功
投入大量资金和资源在Facebook广告上并不总能带来预期的回报,这很可能是由于缺乏恰当的衡量广告活动成功的方法。在这篇文章中,我们将介绍一些关键的指标,帮助你更好地了解如何衡量你的Facebook广告活动的成功。1.费用每次点击(CP…...
Linux对一个目录及其子目录所有文件添加权限
1、chmod指令 chmod是一个改变用户拥有指定文件的权限的命令.r:只读,w:写,x执行.也可以用数字 -rw------- (600) -- 只有属主有读写权限。 -rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。 -rwx------ (700) -- 只有属主有读、写、执…...
宝刀未老?低代码何德何能受大厂们的推崇
风口之下,低代码蓬勃发展,本文从国内低代码的走红现象引入,浅析低代码发展中的变化趋势,重点探讨如此趋势之下,国内大厂如何通过低代码实现了良性发展。 一、国内爆火的低代码 据Gartner最新报告显示,到2…...
智能扑克牌识别软件(Python+YOLOv5深度学习模型+清新界面)
摘要:智能扑克牌识别软件利用视觉方法检测和识别日常扑克牌具体花色与数字,快速识别牌型并标注结果,帮助计算机完成扑克牌对战的前期识别步骤。本文详细介绍基于深度学习的智能扑克牌识别软件,在介绍算法原理的同时,给…...
SQL优化13连问,收藏好!
1.日常工作中,你是怎么优化SQL的? 大家可以从这几个维度回答这个问题: 分析慢查询日志 使用explain查看执行计划 索引优化 深分页优化 避免全表扫描 避免返回不必要的数据(如select具体字段而不是select*) 使用…...
【小技巧】公式从docx文件复制到doc文件变成了图片怎么办?
文章目录0、word文件后缀命名1、docx和doc默认的公式编辑方式2、MathTpye公式编辑器3、MathType 运行时错误‘53’:文件未找到:MathPage.WLL4、结束语0、word文件后缀命名 1997-2003的旧版本文件名后缀是.doc 从2007版以后,后缀名是.docx…...
Python3入门与进阶笔记(六):初识类
目录 一些解释 属性 类名建议首字母大写,通常用驼峰规则命名。变量名建议小写,下划线隔开。类最基本的作用是封装。 写在类内非方法中的语句在类加载的时候会执行,且只会执行一次,例如下面的print语句,类加载时就会…...
Prometheus监控实战系列九:主机监控
Prometheus使用各种Exporter来监控资源。Exporter可以看成是监控的agent端,它负责收集对应资源的指标,并提供接口给到Prometheus读取。不同资源的监控对应不同的Exporter,如node-exporeter、mysql-exporter、kafka-exporter等,在这…...
JVM知识整理
JVM知识整理 JVM的主要组成部分 JVM包含两个两个子系统(类加载子系统和执行引擎)和两个组件(运行时数据区与和本地库接口) 类加载子系统:根据给定的全限定类名来加载class文件到运行时数据区域中的方法区。执行引擎&a…...
网站开发用什么图片格式最好/域名注册网站有哪些
在在win7下安装了Ubuntu 13.04后,在grub中,win7启动想是最后一个,为了把win7设置为默认启动项,需要更改grub设置。google了半天,发现更改/etc /default/grub是无效的,打开/boot/grub/grub.cfg,里…...
网站的发展前景/旺道seo优化
Win异常: 除了chrome浏览器外,所有安装的软件都连不上网参考文章: (1)Win异常: 除了chrome浏览器外,所有安装的软件都连不上网 (2)https://www.cnblogs.com/mylove-pro…...
佛山做外贸网站案例/网络优化培训骗局
const和#define的利弊,从而推导const的意义; const和#define都有类似的功能,那就是定义一个“常量”; 想用来替换#define定义常量这种方式。这是一种定义宏的方式。因为宏替换定义常量有一定的缺陷:不做类型检查&#…...
成都企业做网站/淄博seo网络公司
所谓推测式执行,就是计算框架判断,如果有一个task执行的过慢,则会启动备份任务,最终使用原任务备份任务中执行较快task的结果。产生原因一般是程序bug、负载倾斜。 那么这个较慢,是怎么判断的呢? 有如下具体…...
如何做免费电影网站/关键词优化seo公司
我有2x JComboBox:showingsCb和timesCbshowingsCb包含从我的数据库中提取的电影放映列表.timesCb包含一个电影列表,根据showingsCb中的选择显示时间,这也是从我的数据库中提取的.现在我已经设法用正确的数据填充它们并且逻辑工作正常,但这是我的问题:我在…...
wordpress编辑器空格/网站推广排名哪家公司好
mysql 单表数据量 50万,执行查询一直CPU爆表,按照hash(id) 分表 partitions 10份。 问题依旧出现,新问题出现了 select * from tb where status in(1,2) and type1 order by id desc limit 1 提示sending data 诡异 MariaDB [db2_zz]> …...