python
文章平均质量分 52
资料加载中
迎着风奔跑
展开
-
报错WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) 解决
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol(_ssl.c:833)'),)': /pypi/web/simple/joblib/WARNING: Retrying (Retry(total=3.原创 2021-03-09 09:31:03 · 2717 阅读 · 1 评论 -
【设计模式】代理模式
代理模式(代理模式):是一种结构型设计模式,它允许通过代理对象控制对另一个对象的访问。代理通常充当客户端和真实对象之间的中介,用于控制对真实对象的访问或添加一些额外的行为。原创 2024-01-10 22:29:27 · 416 阅读 · 0 评论 -
【设计模式】外观模式
外观模式是一种结构型设计模式,它为复杂子系统提供一个简化的接口,使得客户端可以更容易地使用这个子系统。原创 2024-01-09 23:32:00 · 735 阅读 · 0 评论 -
【设计模式】命令模式
命令模式是一种行为设计模式,它允许将请求封装为一个对象,从而使得可以参数化客户端对象,队列请求,或者记录请求日志,同时支持撤销操作。原创 2024-01-09 23:21:05 · 1311 阅读 · 0 评论 -
【设计模式】状态模式
状态模式是一种行为设计模式,它允许对象在其内部状态发生改变时改变其行为。这种模式通过将状态封装成独立的类,使得对象在不同状态下具有不同的行为,而且可以在运行时切换状态。原创 2024-01-08 23:12:29 · 1571 阅读 · 0 评论 -
【设计模式】 模板方法模式
模板方法模式是一种行为设计模式,它定义一个算法的骨架,而将一些步骤延迟到子类中。这种模式使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。原创 2024-01-08 22:33:36 · 1667 阅读 · 0 评论 -
【设计模式】适配器模式
适配器模式是一种结构设计模式,它允许接口不兼容的类能够一起工作。适配器模式通过引入一个适配器类,将原始类的接口转换成客户端所期望的接口,从而使得原本不能一起工作的类能够协同工作。原创 2024-01-07 22:53:44 · 1389 阅读 · 0 评论 -
【设计模式】策略模式
策略模式是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略模式允许客户端代码选择算法的实现方式,而不必改变其使用的上下文。Context:上下文类,持有具体策略类的实例,并负责调用相关的算法Strategy:策略抽象类,用来约束一系列的策略算法(Context 使用这个接口来调用具体的策略实现算法)ConcreateStrategy:具体的策略类(继承抽象策略类)原创 2024-01-07 21:40:30 · 852 阅读 · 0 评论 -
【设计模式】装饰器模式
装饰器模式是一种结构型设计模式,它允许你动态地给一个对象添加额外的功能,而无需修改其代码。装饰器模式通过创建一系列装饰器类,每个装饰器类都包装了一个具体组件(component)的实例,从而实现透明的、可叠加的功能扩展。原创 2024-01-07 17:19:48 · 1113 阅读 · 0 评论 -
【设计模式】观察者模式
观察者模式是一种行为设计模式,它定义了一种一对多的关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都能够得到通知并自动更新。在观察者模式中,有两个主要角色:主题(Subject)和观察者(Observer)。主题(Subject): 负责维护一组观察者对象,以及通知它们状态变化的方法。观察者(Observer): 定义一个更新接口,以便在主题状态变化时得到通知并进行相应的操作。原创 2024-01-07 15:29:42 · 1175 阅读 · 0 评论 -
【设计模式】工厂模式
工厂模式(Factory Pattern)是 程序设计中 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式 中,我们在创建对象时不会对客户端暴露创建逻辑,所谓的“创建逻辑”是指我必须要知道创建函数的构造函数的逻辑组成,才能创建对象。原创 2024-01-07 14:13:54 · 556 阅读 · 0 评论 -
通过中心点生成heatmap
使用2D高斯函数来构建学习目标(heatmap)。将某一关键点的ground-truth作为中心点,这样一来,中心点处将具有最高的得分,越远离中心点,得分将越低。公式地表示,则有将关键点的grounnd-truth转换为mask,可以使用分割的方式预测k张feature-map对应k个关键点,最后在每个热力图中选择最大值对应的坐标,即为model预测输出的结果。对应代码段如下所示: 参考github:hourglass代码:...原创 2021-08-10 11:23:37 · 1167 阅读 · 0 评论 -
80行代码爬尽各种风格美女图片
【代码】80行代码爬尽各种风格美女图片。原创 2023-04-02 08:48:43 · 492 阅读 · 0 评论 -
剑指offer题解
剑指offer题解集合原创 2023-03-25 11:02:22 · 591 阅读 · 0 评论 -
_execute(502): An error occurred while installing package ‘conda-forge::setuptools-65.5.1-...‘.
创建虚拟环境失败原创 2023-03-12 14:39:07 · 3115 阅读 · 0 评论 -
BN,LN,IN,GN的理解和用法
BN,LN,IN,GN的理解和使用原创 2023-03-11 18:11:28 · 3388 阅读 · 0 评论 -
Canny算法原理和应用
canny原创 2023-03-09 14:35:05 · 1268 阅读 · 0 评论 -
高斯卷积的原理及实现(python)
高斯滤波原创 2023-03-08 22:21:04 · 1338 阅读 · 0 评论 -
python pca/svd原理及应用
主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域。它的主要作用是对高维数据进行降维。PCA把原先的n个特征用数目更少的k个特征取代,新特征是旧特征的线性组合,这些线性组合最大化样本方差,尽量使新的k个特征互不相关。原创 2023-03-08 19:19:39 · 856 阅读 · 0 评论 -
回溯算法集合(全排列,组合,子集)
leetcode 组合全排列子集原创 2022-11-10 18:09:05 · 588 阅读 · 0 评论 -
剑指offer 27 二叉树的镜像
二叉树的镜像原创 2022-11-02 20:42:11 · 62 阅读 · 0 评论 -
剑指offer 26 树的子结构
树的子结构原创 2022-11-02 20:06:00 · 62 阅读 · 0 评论 -
剑指offer 7 重建二叉树
重建二叉树原创 2022-11-02 18:29:50 · 58 阅读 · 0 评论 -
剑指offer 54 二叉搜索树的第K个结点
二叉搜索树的第K个结点原创 2022-10-30 12:49:46 · 60 阅读 · 0 评论 -
剑指offer 77 按之字形打印二叉树
按之字形打印二叉树原创 2022-10-29 18:30:28 · 68 阅读 · 0 评论 -
剑指offer 59 滑动窗口最大值
滑动窗口最大值原创 2022-10-28 18:00:20 · 297 阅读 · 0 评论 -
二分查找算法
二分查找算法原创 2022-10-23 13:18:39 · 86 阅读 · 1 评论 -
十大排序之快速排序
1.选取基准元素,这里取数组的最右边为基准元素,确定数组在基准元素中的最终位置并返回。2.对整个数组进行递归划分子数组并寻找基准元素位置。时间复杂度: O(nlogn)空间复杂度:O(logn)原创 2022-10-23 13:09:59 · 105 阅读 · 0 评论 -
十大排序之归并排序
时间复杂度:O(nlogn)空间复杂度: O(n)原创 2022-10-23 12:48:40 · 90 阅读 · 0 评论 -
最清晰十大排序之堆排序
从底向上开始调整,符合调整的条件,从非叶子节点开始调整,因为需要交换节点与子节点,若没有子节点,则该节点不需要进行调整,若节点数目为n,则可以从(n-2)//2开始。:调整这个函数有两个作用,第一,建立大根堆;第二,在大根堆的基础上交换堆顶和堆底元素,并对剩余元素继续做调整和交换。: O(nlogn) (在遍历数组的循环下,进行堆调整,调整的过程是logn,可以理解为树的深度)基本思想:首先是建立大根堆,在大根堆的情况下,打乱一个元素,可以对其做调整恢复大根堆的性质。堆排序的思想是调整和交换。原创 2022-10-23 12:04:46 · 99 阅读 · 0 评论 -
python sort按照制定规则排序
当使用os.listdir()时,会导致文件乱序,使用sort不好使,这时需要根据文件特定命名规则去处理一下。下面两个文件名称中间部分为按时间排序的:name1_32.2020.3.25.14.55.187000.jpgname1_32.2020.3.25.14.58.186500.jpg通过lambda匿名函数,将namelist中的每个元素执行map()映射,转换为int类型,最后在外转换为list,然后sort会根据namelist中每个元素对应位置,以int类型做排序,即202...原创 2021-08-10 11:41:05 · 878 阅读 · 0 评论 -
python+opencv+Trackbar实现canny算子进行边缘检测
函数功能:canny边缘检测,并与原图做边缘和背景取舍canny实现步骤:1.高斯滤波平滑图像,因为噪声和边缘同为高频信息,如果不进行去噪,直接进行边缘检测,会对噪声比较敏感;2.使用sobel算子分别计算x,y方向的梯度,并求实际梯度值和梯度方向;3.非极大值抑制,对求出的梯度图像,遍历图像的每个点,求出每个点梯度方向上和其八邻域的交点,交点可能是虚拟点,需要通过线性插值求出虚拟点,然后将该点与梯度方向上的上下两点进行比较,如果为三点中的最大值,则保留该点的梯度。4.高低双阈值筛.原创 2021-01-26 09:44:54 · 331 阅读 · 0 评论 -
python实现自动化裁图并保存在指定文件夹下
函数功能:自动化裁图并保存函数应用:在深度学习当中,尤其是工业场景,通常数据集的尺寸大小非常大,而网络输入尺寸是固定的,所以在送入网络之前图片会统一resize到网络输入尺寸,图片较大的话,resize操作就相当于下采样,而图片送入网络后,网络通常还会进行数次下采样,如过我们要检测或分类的目标非常小的话,经过系列的下采样操作,感兴趣区域的目标特征直接2会消失。因此我们可以先将大图裁成数张小图进行训练,然后再将小图拼接回去,这样网络就能很好的学习到感兴趣区域的特征信息。函数运行示例:python seg原创 2021-01-14 17:38:01 · 779 阅读 · 1 评论 -
本地访问远程服务器上的jupyter notebook纯小白操作指南
1.打开远程服务器环境(很重要,接下来的操作都是在服务上操作,不是在本地,这一点查了很多博客,都没有表述清楚),找到支持jupyter notebook的运行环境,我的环境是Anoconda且已经安装了jupyter notebook,并确认可以使用。如果上一步没有,请先安装python或者Anoconda,并创建一个新的虚拟环境或者直接在root环境下安装jupyter.我的环境是Anoconda:(1)创建一个新的虚拟环境,(2)并进入新的虚拟环境,(3)安装jupyter notebook原创 2020-11-25 21:43:30 · 633 阅读 · 0 评论 -
为jupyter notebook添加kernel
jupyter中的kernel和anoconda中的虚拟环境是相对应的,虚拟环境之间相互隔离,你可以在新的环境里配置新的版本的Python/tensorflow/pytorch和第三方库等,为满足不同项目对不同环境的要求。Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。用来学习和实验非常便利。这里默认你已经安装anoconda和jupyter原创 2020-11-19 16:50:36 · 407 阅读 · 0 评论 -
name ‘‘xxxx‘‘ is not defind或者variable is before assigment
就是这个变量在使用时没有实现定义,所以需要先进行定义,或者变量变循环内不能供循环外使用,可以将变量定义为全局变量。原创 2020-11-16 15:39:22 · 468 阅读 · 0 评论 -
图像的gamma变换
图像的gamma变换gamma矫正公式: output = input^rinput的取值范围为[0,1],因为如果为0-255,对输入图像进行指数运算时很容易达到255,然后需要截断操作,就失去gamma变换的意义。从上图中可以看出,gamma变换实际上就是一种将图像的像素值进行非线性处理的技术。当gamma值大于1时,会将图像中的比较集中的高照度区域范围做一个拉伸,将对比度拉升到一个比较大的范围,比如gamma值取2时,[0.5-1]的区域经过gamma变换后,输出范围由原来的[原创 2020-11-13 23:17:39 · 2812 阅读 · 4 评论 -
type/dtype/astype的作用
1.type():可以接受任何数据结构,并返回数据结构的类型,例:list,dict,set,numpy.ndarray2.dtype:调用有限制,数据结构类型内必须只包含一种数据类型,list,dict可以包含多种不同数据类型,故不可调用。numpy.ndarray可以。3.可以调用dtype,就可以调用astype.调用方法:type()array.dtypearray.astype(np.in64)...原创 2020-11-13 11:13:22 · 510 阅读 · 0 评论 -
可视化图片函数
import cv2import matplotlib.pyplot as plt%matplotlib inlineimage = cv2.imread('1000/wirebroken_0001_1.jpg')image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)def visualize(image): plt.figure(figsize=(10,10)) plt.axis('off') plt.imshow(image)原创 2020-11-10 10:50:21 · 124 阅读 · 0 评论 -
python重命名指定文件夹下的文件
#coding=utf-8 import ospath = '/wish/food/'count = 1for file in os.listdir(path): os.rename(os.path.join(path,file),os.path.join(path,str(count)+".jpg")) count+=1原创 2020-11-05 17:30:42 · 259 阅读 · 0 评论