甘先了个生
码龄10年
关注
提问 私信
  • 博客:53,437
    53,437
    总访问量
  • 40
    原创
  • 1,711,323
    排名
  • 17
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2014-08-02
博客简介:

qq_18824345的博客

查看详细资料
个人成就
  • 获得92次点赞
  • 内容获得26次评论
  • 获得285次收藏
  • 代码片获得275次分享
创作历程
  • 2篇
    2022年
  • 3篇
    2021年
  • 29篇
    2020年
  • 6篇
    2019年
成就勋章
TA的专栏
  • 目标跟踪
    1篇
  • 目标检测
    2篇
  • 计算机系统
    5篇
  • 可视化
    1篇
  • 行人属性
    1篇
  • Linux
    2篇
  • Pytorch入坑之路
    1篇
  • python
    24篇
  • 对抗攻击
    2篇
  • tensorflow
    1篇
兴趣领域 设置
  • 人工智能
    机器学习深度学习图像处理
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

185人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

DeepSort之源码解读

文章有点长…代码地址:https://github.com/ZQPei/deep_sort_pytorchtraker是一个类,负责对多个track的进行操作,包括预测和更新。self.tracker.predict()self.tracker.update(detections)tracker预测阶段是对每个track进行预测,包括卡尔曼预测track年龄 age+1time_since_update+1,此变量用于记录track上次更新的时间代码如下: def predict(
原创
发布博客 2022.04.04 ·
4514 阅读 ·
15 点赞 ·
9 评论 ·
74 收藏

YOLOv4之网络结构剖析

1.yolov4的网络结构yolov4的网络结构包括backboneCSPDarknet53NeckSPPPANetDence Predictionyolo head整个网络结构如下图1所示:图1 yolov4结构1.1 BackBone1.1.1 CSP模块CSP在论文《CSP:A New Backbone that can Enhance Learning Capability of CNN 》提出,把CSP(Cross Stage Partial)应用
原创
发布博客 2022.03.15 ·
8284 阅读 ·
10 点赞 ·
2 评论 ·
64 收藏

理解地址空间和逻辑地址生成

1.1 地址空间物理地址:硬件(例如内存条)所支持地址空间,地址空间的管理由硬件完成。逻辑地址(虚拟地址):运行地址所看到的地址空间,地址空间是一维的,应用程序更加容易访问和管理。1.2 逻辑地址生成​ 图1逻辑地址生成如图1所示,.c程序经过编译得到.s文件,再经过汇编得到.o文件,此时变量名和函数名都会转换成从0开始的连续地址空间,然后再经过链接把多个.o文件生成.exe文件,此时因为链接了其他函数库,所以地址会产生偏移,从图中可以看到程序地址从0-75变成了
原创
发布博客 2021.10.23 ·
2248 阅读 ·
0 点赞 ·
0 评论 ·
10 收藏

如何通俗地理解存储器层次结构?

举个通俗的场景。大学生(CPU)写毕业论文时候,通常会到图书馆(内存)查找相关资料(读取数据),但是没人会那么傻每次写论文都去图书馆吧,跑来跑去,多费劲,要想又快又方便地写论文,我们可以到图书馆借几本相关书籍放到宿舍书架中(缓存),然后就可以舒服地在宿舍写论文了。如果学校图书馆都没有想看的书籍,那只能到市图书馆(本地磁盘)找了。为什么借了几本书之后就可以舒服地在宿舍撸论文了?(缓存为何work?)写论文时候,短时间内会经常翻阅同一本书吧,这就是利用时间局部性。写论文时候,借回来的几本书籍(附近的几
原创
发布博客 2021.10.10 ·
236 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

局部性原理

1.1 什么是程序局部性?良好的计算机程序通常有良好的局部性,局部性主要有:时间局部性 :指的是同一个内存位置,从时间维度来看,它能够在较短时间内被多次引用。空间局部性 :指的是同一个内存位置,从空间维度来看,它附近的内存位置能够被引用 。1.2 数据引用局部性请看下面程序:#例1int sumvec(int v[N]){ int i,sum=0; for(i=0;i<N;i++) { sum+=v[i]; }}对于例1的程序,是否有良好的局部性?要回答这个问题
原创
发布博客 2021.10.09 ·
554 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

FaceBoxes: 高精度的CPU实时人脸检测器

论文题目:《FaceBoxes: A CPU Real-time Face Detector with High Accuracy》论文链接:https://arxiv.org/pdf/1708.05234.pdf年份:2017论文作者:Shifeng Zhang等人作者单位:中国科学院自动化研究所等1. 论文要解决什么问题?要保持高精度,还要在CPU上达到实时?还真有点难,但是Shifeng Zhang等人针对这个问题,提出了人脸检测模型FaceBoxes,表现SOTA。2. FaceBox
原创
发布博客 2020.11.22 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

神经网络可视化:Grad-CAM

论文题目:《Grad-CAM:Visual Explanations from Deep Networks via Gradient-based Localization》作者单位:Georgia Institute of Technology,Facebook AI Research年份:2017公众号: CVpython 同步发布导语:前段时间,用Grad-CAM来对神经网络的输出进行可视化,当时做的是一个多便签分类任务,但是可视化出来的结果感觉都点怪怪的,总感觉哪里不对。这次论文的总结让我对G
原创
发布博客 2020.11.15 ·
2733 阅读 ·
2 点赞 ·
0 评论 ·
7 收藏

基于注意力的多行人属性识别的深度学习模型

论文题目《An Attention-Based Deep Learning Model for Multiple Pedestrian Attributes Recognition 》链接:https://arxiv.org/abs/2004.01110 作者单位:清华大学年份:20201. 论文主要解决什么问题?行人属性预测是一个多任务学习问题。为了共享特征表达,传统的多任务学习方法通常学习特征或者特征子空间的线性组合。但是这种组合排除了通道之间的复杂的相互依赖性。更何况,空间信息交换也很少被考
原创
发布博客 2020.11.14 ·
806 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Pytorch入坑之Tensor大详解

导语深度学习框架Pytorch发展势头惊人,这点小编也深有体会,翻翻Github上深度学习的开源代码,发现用Pytorch真的多了不少,所以小编最近也正在入坑Pytorch,顺便写写文章做些总结。认真看完这篇文章,你将收获:理解Tensor的创建理解Tensor的加速理解Tensor的常用属性理解Tensor的常用方法Tensor创建我们应该都知道Numpy是支持大量维度数组与矩阵运算的常用扩展库。但是对于计算图,深度学习或者梯度,Numpy似乎真的有心无力,因为它的计算无法像Tensor
原创
发布博客 2020.05.22 ·
659 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

跟你深入剖析可迭代对象和迭代器的区别和联系

导语可迭代对象和迭代器是经常碰到但又很容易混淆的两个概念,所以今天小编跟大家深入剖析一下可迭代对象和迭代器的区别。认真看完本文,你将收获:理解什么是可迭代对象理解检查可迭代对象的方法理解什么是迭代器可迭代对象和迭代器的关系事不宜迟,我们马上开始吧!可迭代对象要理解可迭代对象,那首先要搞清楚迭代的概念。关于迭代,维基百科是这样子定义的:迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代
原创
发布博客 2020.05.12 ·
557 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

特殊的分派机制和重载向量加法运算符

导语小编一直都觉自己公众号的排版很鸡肋,从这篇文章开始将使用了新的排版风格,还特意地做了一个卡通二维码(见文末),希望大家会喜欢(不要脸地假装有很多粉丝)。其实关于排版,小编要真心感谢一下景禹大佬的指导。好了,今天想跟大家谈谈如何重载运算符+,认真看完这篇文章,你将收获:了解中缀运算符特殊方法的分派机制了解向量类如何实现 __ add __ 方法了解向量类如何实现 __ rad...
原创
发布博客 2020.05.07 ·
192 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

若用多重继承,请考虑mix-in混合类

为什么要用mix-in混合类Python是面向对象的编程语言,它提供了一些内置的编程机制,使得开发者可以适当地实现多重继承,即一个子类可以继承多个父类,但是多重继承的设计经常被人诟病,因为它违背了“is-a”的关系。但是也存在需要多重继承的情况。例如,轿车是一个交通工具,所以轿车类应该继承交通工具这个父类。那民航飞机呢?它也属于交通工具的一种,所以也应该继承交通工具这个父类,但是交通工具这个类...
原创
发布博客 2020.05.04 ·
261 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Python动态语言之魅力大揭秘

之前的文章跟大家讲解了鸭子类型,其实鸭子类型是编程语言中动态类型语言中的一种设计风格。今天跟大家一起谈谈动态语言的魅力。根据维基百科,动态编程语言是这样子定义的:动态编程语言是高级编程语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言是一门在运行时可以改变其结构的语...
原创
发布博客 2020.04.30 ·
250 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

帮你举例说明什么是Python鸭子类型

学习python的时候,也知道鸭子类型(ducking typing)这个说法,“当你看到一只鸟走起来像鸭子,游泳起来鸭子,叫起来也像鸭子,那么这只鸟就被称为鸭子类型”,字面上理解了,但是在Python中是如何体验的?这一点还真不太懂。今天在看书,又再次碰到这个玩意,于是决定把这个鸭子类型给整明白。按照书上的解释,鸭子类型是多态一种形式,这这种形式中,不管对象属于哪个类,也不管声明的具体接口是什...
原创
发布博客 2020.04.27 ·
510 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

图解Python浅复制和深复制的

浅复制和深复制的区别在于,浅复制只复制引用到新的列表中(引用可以理解为地址),不会创建新对象。而深复制创建新的对象,并把对象保存在新的地址中。浅复制和深复制对可变和不可变序列的影响是不一样的。对可变序列的浅复制会带来意想不到的结果。看示例1示例1>>>a = [[1],2,3,4]>>>b = list(a)>>>a[0].append...
原创
发布博客 2020.04.21 ·
695 阅读 ·
7 点赞 ·
0 评论 ·
16 收藏

记录一个关于变量作用域的神奇例子

程序中的变量并不是说访问就能访问的,每个变量都有使用范围,也就是变量都有自己的作用域。看示例1示例1b = 3def f1(a): print(a,b)if __name__ == "__main__": f1(3) #输出结果: 3 3虽然函数f1中并没有定义b,但是可以使用全部变量b,再看示例2,可能会让你跌眼镜示例2b = 3def f1(a): p...
原创
发布博客 2020.04.20 ·
158 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

python函数传参方法超级大汇总

位置参数位置参数传递是最为简单的传递方式,按照函数参数的位置顺序逐个匹配传入,传入参数的个数必须与函数参数个数一致。见示例1,根据位置顺序进行匹配,a,b,c分别赋值为2,3,4#示例1def func(a,b,c): print("args:",a,b,c) if __name__ == "__main__": func(2,3,4) #输出结果 args: 2...
原创
发布博客 2020.04.17 ·
296 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

捋一捋字符串和字节序列的关系

Python3的一个新特性算是把文本和二进制数据清晰地区分开来了。我们看到的文本其实就是一连串的Unicode字符组成的str(下文文无特殊说明均指Unicode字符),最后计算机以二进制数据的形式存储起来。Python内置了两种二进制数据类型,分别是bytes和bytearray。每一个字符都有一个对应的标识,即码位,是0-1 114 111的数字(十进制),在Unicode标准中以4-6个十...
原创
发布博客 2020.04.15 ·
1316 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

对序列使用*操作,可要格外小心了

如果你对序列使用*操作符,要多加小心了。因为…,好吧,先看下面的代码…a1=[[1,2,3]]b1=a1*2b1[0][0]=0print(b1)#[[0, 2, 3], [0, 2, 3]]首先你想对a1的第一个元素进行了复制,然后你希望对a[0][0]进行修改,但是你发现了吗?你不但修改了a[0][0],还顺手修改了a[1][0],这也许是你不想要的结果!为什么会导致这种情况?...
原创
发布博客 2020.04.09 ·
193 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

可变序列有哪些坑?

先说点概念在解释可变/不可变序列之前,先要知道什么是序列?序列就一个个元素有序地排列在一起,像小朋友”排排坐,吃果果“一样。可变序列就是创建一个序列后,可以改变元素,可以比如成排好队小朋友之间位置可以换,可以插队等。可变序列包括列表和字典,集合。不可变序列就是序列一旦创建后,就不可以修改了,可以比如成排好队地小朋友都十分地”拽“,不让人插队,不给换位置等操作。不可变序列包括元组,数值,字符串...
原创
发布博客 2020.04.09 ·
285 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏
加载更多