![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法结构
文章平均质量分 79
爱编程的鱼
去看看我的另一个账户,谢谢!https://www.zhihu.com/people/mi-qi-lin-17-73/posts
展开
-
YOLOX算法实现血细胞检测
使用 OTA 作为候选的标签匹配策略。其中,λ是平衡系数,然后,对于一个 gt,用 gi 来表示,选择在一个固定的 中心区域内,topk 个具有最小的 cost 的预测来作为正样本,最后,这些正样本 所在的 grid 也被分配为正样本,其他的 grid 是负样本,注意,对于不同的 gt,k 是不一样的。上面提到的 anchor free 的正样本选择策略,对于每个目标只选 择了 1 个正样本,这样会忽略掉其他的高质量的预测,使用这些高质量的预测对 于梯度是有好处的,而且样本的不均衡性也会减少一些。原创 2024-07-06 06:59:31 · 902 阅读 · 1 评论 -
如何使用MATLAB写测试(4)重复劳动?TestMethodSetup!
类似的还有在test method运行后做收尾工作的TestMethodTeardown和TestClassTeardown。哟,不错,熟练掌握了TestParameter以及function handle,确实是名合格的实习生。我们来自俄罗斯的实习生是学Computer Vision的,最近他为我们展示了一个全新的程序。我看了后说,你老板要发飙的,上次学的TestParameter呢?,原来可以用TestMethodSetup来做一些重复的初始化工作。实习生翻阅了文档后,发现了?原创 2024-06-24 11:55:29 · 305 阅读 · 1 评论 -
conda怎么使用清华源?设置channel镜像详解
今天在下载OpenCV的时候发现清华的conda channel镜像已经不能用了,故在此记录:1)如何显示所有channel;2)如何更换channel。原创 2024-06-17 20:55:55 · 1810 阅读 · 1 评论 -
vue.js有哪几种甘特图库?Vue.js的5大甘特图库分享!
如今,软件市场为任何复杂程度的项目提供了各种现成的计划和调度工具,但这些解决方案可能包含过多的功能或缺乏一些必要的功能。这就是为什么许多公司更愿意投资开发基于网络的定制解决方案的原因。这并不奇怪,因为有大量且不断增长的高级 JavaScript 库和框架允许 Web 开发人员构建功能丰富的应用程序,以精确满足任何给定项目的所有需求。在本文中,我们将考虑用于基于 Vue 的应用程序的前 5 个甘特库。原创 2024-06-13 21:15:12 · 1334 阅读 · 1 评论 -
Java 新手入门:基础知识点一览
想要踏入 Java 的编程世界?别担心,这篇文章将用简单易懂的表格形式,带你快速了解 Java 的基础知识点。原创 2024-06-04 20:35:03 · 562 阅读 · 1 评论 -
向量叉乘的方向
这个新向量的方向可以通过"右手定则"来确定:将右手的拇指、食指和中指分别指向a、b和a×b的方向,则拇指、食指和中指所确定的方向就是a×b的方向。更直观地说,如果我们将a和b看作两个向量,那么a×b的方向就是从a指向b的方向,再按逆时针旋转90度所得到的方向。a×b的方向:四指由a开始,指向b,拇指的指向就是a×b的方向,垂直于a和b所在的平面;b×a的方向:四指由b开始,指向a,拇指的指向就是b×a的方向,垂直于b和a所在的平面;a×b的方向与b×a的方向是相反的,且有:a×b=-b×a。原创 2024-06-03 00:15:00 · 987 阅读 · 1 评论 -
Neovim 配置全面解析(下)
补全引擎补全引擎就是为 Neovim 提供代码补全核心功能的插件,比如 nvim-cmp补全源补全源就是补全引擎需要的数据来源,最常见的来源是来自 Language Server 提供的数据,它会知道某个类有哪些属性和方法等。snippet 引擎snippet 引擎就是自定义代码段的引擎,常见的有vsnipluasnip等添加插件-- 补全引擎-- snippet 引擎-- 补全源-- 常见编程语言代码段注意:只有是补全引擎插件本身,其他cmp-xxx。原创 2024-05-29 17:59:01 · 911 阅读 · 1 评论 -
Neovim 配置全面解析(上)
当我们在命令行中输入nvim不带任何路径并敲击回车的时候,就会打开这个界面,通常我们会在这个界面中配置最常用功能,比如打开最近编辑过的文件,快速打开项目文件夹,快速修改快捷键等。使用官方配置的图像:使用字体生成器:[Text to ASCII Art Generator (TAAG) (patorjk. com)](-- dashboard-nvim (新增)vim.notify ("没有找到 dashboard")returnendconfig = {header = {[[ ]],原创 2024-05-27 06:33:16 · 1469 阅读 · 1 评论 -
YOLOv8 快速入门(万字解析)
本文是 YOLOv8 入门指南(大佬请绕过),将会详细讲解安装,配置,训练,验证,预测等过程注意:如果遇到权重文件,模型文件下载缓慢的问题,可以在自己本机上下载,再上传到服务器。也可以选择代理或是 IDM 这样的下载软件然后下载 zip 压缩包即可。原创 2024-05-20 18:10:01 · 1290 阅读 · 2 评论 -
(2)快速排序 (Quick Sort)
快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。算法描述快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。原创 2024-05-08 19:07:57 · 636 阅读 · 1 评论 -
(1)冒泡排序 (Bubble Sort)
冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。由于它的简洁,冒泡排序通常被用来对于程序设计入门的学生介绍算法的概念。图片来自维基百科。原创 2024-05-08 19:07:04 · 217 阅读 · 1 评论 -
OpenFE:开启数据特征工程新时代
OpenFE是一个开源的Python库,专注于数据特征工程。它提供了一系列灵活且高效的特征处理方法,包括特征选择、特征编码、特征缩放等。OpenFE旨在帮助数据科学家和机器学习从业者快速构建可靠的特征工程流程,提高模型的性能和可解释性。数据特征工程是机器学习和数据分析中不可或缺的一环,而OpenFE作为一个强大而灵活的Python库,为数据科学家和机器学习从业者提供了丰富的特征处理方法和工具。通过使用OpenFE,我们可以更高效地进行特征选择、特征编码、特征缩放和特征衍生,从而提高模型的性能和可解释性。原创 2024-04-23 20:58:01 · 856 阅读 · 2 评论 -
DaPy:实现数据分析与处理
DaPy是一个基于Python的开源库,专注于数据分析和处理。它提供了一套简洁而灵活的工具和函数,使开发者能够对数据进行各种操作,如数据清洗、转换、筛选和聚合等。DaPy库的设计目标是帮助开发者在数据分析过程中高效地处理和分析数据,从而得出准确的结论和洞察。DaPy是一个功能强大的Python库,专注于数据分析和处理。它提供了丰富的工具和函数,使开发者能够高效地进行数据清洗、转换、筛选和聚合等操作。通过使用DaPy库,开发者可以提升数据分析的效率和准确性,从而得出准确的结论和洞察。原创 2024-04-23 20:56:28 · 1004 阅读 · 1 评论 -
Java 浮点类型
float类型表示单精度数字。float类型变量在需要一个分数组件时很有用。原创 2024-04-20 14:27:40 · 784 阅读 · 1 评论 -
为什么拼音命名在编程中不被推荐?
尽管拼音命名在某些情况下可能看似方便,但在编程学习和实践中,我们强烈建议遵循专业的编程规范和经验,尽量避免使用拼音命名。使用有意义的英文命名可以提高代码的可读性、可维护性和一致性,适应跨语言和跨文化的环境,充分利用编程工具的支持,并减少错误和调试困难。通过遵循这些最佳实践,我们可以编写更高质量、可扩展和易于理解的代码,提高编程技能和职业竞争力。因此,对于拼音命名,在编程中不被推荐,我们应该尽可能避免使用,而是采用有意义的英文命名,以提升代码质量和可读性。原创 2024-04-03 18:44:39 · 418 阅读 · 1 评论 -
Git 删除分支——如何删除本地或远程分支
Git 是一种流行的版本控制系统,也是 Web 开发人员工具包中必不可少的工具。分支是使用 Git 的一个强大且不可或缺的部分。在本文中,您将学习有关如何在 Git 中删除本地和远程分支的基础知识。原创 2024-03-30 12:53:40 · 19099 阅读 · 4 评论 -
numpy之linspace()函数使用详解
作为序列生成器,函数用于在线性空间中以均匀步长生成数字序列。Numpy通常可以使用生成序列,但是当我们使用浮点参数时,可能会导致精度损失,这可能会导致不可预测的输出。为了避免由于浮点精度而造成的任何精度损失,numpy在为我们提供了一个单独的序列生成器,如果您已经知道所需的元素数,则这是首选。但是通常使用带有适当参数的linspace()和arange()可以得到相同的输出,因此可以为同一任务选择两者。例如,以下代码使用在0到10之间绘制2个线性序列,以显示该序列生成的均匀性。plt.show()原创 2024-03-29 21:27:29 · 1584 阅读 · 1 评论 -
超越传统的极限:解密B树与B+树的数据结构之美!
B树和B+树作为平衡查找树的重要变种,具有在大规模数据和磁盘存储中提供高效访问的优势。B树适用于频繁的随机访问,而B+树适用于范围查询和顺序访问。了解B树和B+树的工作原理和特点有助于开发者在设计和实现索引结构时做出明智的选择。这两种平衡树的应用广泛,不仅在数据库和文件系统中发挥着重要作用,还是许多其他领域解决大规模数据存储和高效查询的关键数据结构。原创 2024-03-18 21:27:27 · 641 阅读 · 1 评论 -
基础算法-高精度除法
压位的话,需要格式化输出,最高位直接输出即可,其他位都需要输出4位数字,不足的前面补零。容器类型用 begin() 和 end() 来指定反转的区域,数组类型用int类型。短整型 short int 2 (-2的15次方)~(2的15次方-1)长整型 long long 8 (-2的63次方)~(2的63次方-1)整型 int 4 (-2的31次方)~(2的31次方-1)C++ 每一个变量都有自己的类型,每个类型都有自己的存储长度范围。原创 2024-03-09 17:19:40 · 507 阅读 · 1 评论 -
YARP:探索反向代理的新境界
YARP作为一款创新的逆向代理工具,通过其异步处理、插件化架构和动态路由等特性,为开发者提供了高性能、可扩展和灵活配置的代理解决方案。它在微服务架构、API网关、静态文件服务和安全过滤器等场景下都能发挥重要作用。通过深入探索YARP的原理和特性,并结合实际应用示例,我们可以更好地理解和应用这一创新的逆向代理工具,为构建高性能和可靠的网络架构提供有力支持。原创 2024-03-07 18:41:11 · 1331 阅读 · 1 评论 -
二分查找算法:高效搜索有序数据的利器
二分查找算法,也称为折半查找算法,是一种在有序数据集合中查找目标值的算法。它通过将目标值与数据集合的中间元素进行比较,从而将搜索范围缩小一半。如果目标值等于中间元素,则找到了目标;如果目标值小于中间元素,则在左半部分继续查找;如果目标值大于中间元素,则在右半部分继续查找。通过重复这个过程,最终可以找到目标值或确定目标值不存在于数据集合中。二分查找算法是一种高效且常用的搜索算法,适用于有序数据集合中的搜索操作。它通过每次将搜索范围缩小一半,快速逼近目标值,具有较低的时间复杂度和简单的实现方式。原创 2024-03-05 18:11:23 · 970 阅读 · 1 评论 -
Golang中的fmt包:格式化输入输出的利器
fmt包是Go语言中一个非常强大和实用的标准库,提供了丰富的格式化输入输出功能,可以满足我们的日常开发需求。通过学习和掌握fmt包的使用,我们可以实现数据的格式化输出、读取用户输入、错误处理和调试信息输出等操作,提高代码的可读性和开发效率。无论是在控制台应用程序还是Web应用程序中,fmt包都是我们经常使用的工具之一。通过合理地利用fmt包的函数和功能,我们可以更好地处理输入输出和错误处理,使程序更加健壮和可靠。原创 2024-02-13 20:23:09 · 1639 阅读 · 1 评论 -
软件架构与系统架构:区别与联系的分析
软件架构关注于软件系统的内部结构和设计。它包括软件系统的组件、这些组件之间的关系以及它们与外部环境的交互方式。软件架构的主要目标是确保软件系统的可维护性、可扩展性和性能。常见的软件架构模式包括微服务、MVC(模型-视图-控制器)、事件驱动架构等。系统架构是一个更为宽泛的概念,它不仅包括软件组件,还涵盖了系统中的硬件部分和各个组件之间的交互。系统架构关注整个信息技术解决方案的结构设计,包括硬件、软件、网络、数据存储和数据流等方面。它的主要目标是确保整个系统的高效性、稳定性和可靠性。原创 2024-02-12 17:09:42 · 908 阅读 · 1 评论 -
Zustand:简化状态管理的现代React状态库
Zustand是一个简洁、可扩展和高性能的React状态库。它简化了状态管理的复杂性,提供了直观的API和灵活的状态更新方式。通过使用Zustand,开发人员可以更加专注于组件逻辑,同时实现高性能和可伸缩性的状态管理。无论是小型还是中型的React应用程序,Zustand都是一个值得考虑的状态管理解决方案。原创 2024-02-10 10:35:06 · 1881 阅读 · 1 评论 -
NumPy:Python的强大数值计算库
NumPy是Python中一款强大且广泛应用的数值计算库,它提供了高性能的多维数组对象和丰富的数学函数,使得在Python中进行科学计算和数据分析变得更加简单和高效。通过NumPy,我们可以方便地创建、操作和运算多维数组,并在科学计算、数据分析和图像处理等领域中发挥重要作用。无论是初学者还是专业人士,掌握NumPy都是进行Python数据科学和数值计算的重要基础。原创 2024-02-10 10:30:44 · 972 阅读 · 1 评论 -
基础算法-高精度减法
在数据处理当中,我们会常使用减法运算,例如:当有一个数123456789时,可以使用数组对其每一位进行存储,那么数组第 0 存储数的个位 9 ,便于我们借位操作,在高位上补充数字。高精度减法即模拟减法运算,从个位算起,得出差判断是否大于 0 ,若大于等于 0 则直接减去即可,若小于 0 ,则需进行借位操作,上一位 -1。在实现过程中,需要使用三个数组进行存储,两个对减数和被减数存储,一个对差存储,最后对存储和的数组进行变换操作或者反向输出即得高精度减法结果。计算过程:不压位的话,除数和模数都是10;原创 2024-02-10 10:07:15 · 415 阅读 · 1 评论 -
基础算法-高精度加法
为什么要使用高精度算法C++ 每一个变量都有自己的类型,每个类型都有自己的存储长度范围。名称 关键字 字节 长度短整型 short int 2 (-2的15次方)~(2的15次方-1)整型 int 4 (-2的31次方)~(2的31次方-1)长整型 long long 8 (-2的63次方)~(2的63次方-1)原创 2024-02-10 10:04:35 · 496 阅读 · 1 评论 -
通俗易懂:快速排序算法全解析
快速排序是一种高效的分治排序算法,通过选择基准元素和不断划分子数组来实现排序。它具有优秀的性能和广泛的应用场景,特别适合处理大规模数据集。了解快速排序的原理和步骤,以及掌握优化策略,可以帮助开发人员选择合适的算法,并编写出高效的排序代码。原创 2024-02-08 17:41:04 · 837 阅读 · 1 评论 -
DoWhy:Python 中的因果推断库
DoWhy 是一个强大的 Python 库,用于因果推断和因果推断分析。本文将介绍 DoWhy 的基本概念、主要功能和使用方法,帮助读者了解如何利用该库进行因果推断,并解决因果关系的相关问题。原创 2024-02-07 20:15:18 · 1714 阅读 · 3 评论 -
Redis数据过期清除:释放内存,提升性能!
本文深入解析了Redis的数据过期清除策略,包括过期键的删除方式、清除策略的选择以及相关配置参数的介绍。通过合理设置过期时间和清除策略,可以有效管理Redis中的数据,并确保内存的合理利用。使用示例代码,你可以在自己的项目中实现数据过期清除策略,以提高系统性能和资源利用率。原创 2024-02-05 17:25:52 · 1326 阅读 · 1 评论 -
Scrapy:Python中强大的网络爬虫框架
Scrapy是一个开源的网络爬虫框架,由Python编写而成。它提供了一套强大的工具和API,用于处理网页的下载、解析、数据提取和存储。Scrapy的设计目标是高效、可扩展和易于使用,使开发者能够快速构建复杂的网络爬虫应用程序。Scrapy是一款功能强大的Python网络爬虫框架,为开发者提供了一种高效、灵活和可扩展的方式来构建网络爬虫应用程序。它具有强大的爬取能力、灵活的数据提取、自动化的流程控制、分布式和去重机制,以及扩展性和插件支持等特性。原创 2024-02-04 18:33:14 · 2376 阅读 · 1 评论 -
DDoS攻击:分布式拒绝服务攻击的威胁与对策
分布式拒绝服务攻击(Distributed Denial of Service,简称DDoS)是指攻击者通过控制多个计算机或者其他网络设备,协调并同时向目标服务器或网络发送大量的请求流量,以超出目标系统的处理能力,导致服务暂时性或长时间不可用的攻击行为。DDoS攻击是一种具有严重破坏性的网络攻击方式,给个人用户、企业和组织的网络基础设施带来了巨大的风险。了解DDoS攻击的定义、工作原理和常见类型,以及采取相应的对策和防护措施,对于保护网络安全和保证服务的可用性至关重要。原创 2024-02-04 18:31:40 · 1097 阅读 · 1 评论 -
MySQL全表扫描:性能杀手的隐患与优化策略
MySQL全表扫描是一种性能较低的查询方式,应尽量避免在大型表或复杂查询条件下使用。通过合理使用索引、优化查询语句和数据库配置,可以减少全表扫描的需要,提高查询性能。了解全表扫描的原理和影响,并采取相应的优化策略,可以帮助开发者更好地处理全表扫描的问题,提升数据库的性能和响应能力。原创 2024-02-03 20:38:30 · 1093 阅读 · 1 评论 -
什么是war包?war包该怎么运行?
jar 包全称 Java Archive ,中文名叫 java 归档文件,这是一种与平台无关的文件格式,它允许将许多文件组合成一个压缩文件(是的,jar 包就是一种压缩文件,甚至 jar 这个单词就有罐子的意思,实际上 jar 包采用的也是 zip 的压缩方式,只不过将文件后缀定义为 jar)。javaSE 程序可以打包成 jar 包。原创 2024-02-02 14:20:12 · 1492 阅读 · 1 评论 -
C++移动语义:提升性能和资源管理的新境界
移动语义是现代C++编程中的重要特性,它通过避免不必要的数据复制和资源浪费,提高了程序的性能和资源管理效率。通过使用移动构造函数和右值引用,我们可以将资源的所有权从一个对象转移到另一个对象,而无需进行数据复制。在适当的场景下,合理地利用移动语义可以优化内存管理、容器操作和大型对象传递等关键方面。然而,在实现和使用移动语义时,需要注意正确的实现和使用方式,以避免潜在的错误和资源泄漏。原创 2024-01-31 14:48:09 · 1201 阅读 · 1 评论 -
理解Filter与Listener:Java Servlet中的关键组件
Filter和Listener是Java Servlet中的两个重要组件,它们分别用于过滤和修改请求、响应,以及监听应用程序中的事件。合理使用Filter和Listener可以提高应用程序的灵活性和可维护性,使开发人员能够更好地控制应用程序的行为和状态。因此,在Servlet开发中,充分理解和熟练使用Filter和Listener是非常重要的。原创 2024-01-28 08:57:21 · 453 阅读 · 1 评论 -
探索数据可视化:Python 库 Matplotlib
Matplotlib 是一个用于创建静态、动态和交互式图形的 Python 库。它提供了广泛的功能,包括线图、散点图、直方图、饼图、等高线图等。Matplotlib 不仅易于使用,而且灵活性高,可以满足各种数据可视化需求。Matplotlib 是 Python 中最流行和强大的数据可视化工具之一,它提供了丰富的绘图功能和高度的自定义性,能够满足各种数据可视化需求。通过 Matplotlib,用户可以轻松创建出令人惊叹的图形效果,从而更好地理解和解释数据。原创 2024-01-27 14:41:17 · 1246 阅读 · 1 评论 -
基础算法-浮点二分
返回值:返回幂指数的结果,即 x 的 y 次幂。若 x 为负数且 y 为 小数,或者 x 为 0 且 y 小于等于 0 ,将出现结果错误。引用头文件 #include,常用cout原创 2024-01-26 15:42:56 · 393 阅读 · 1 评论 -
为什么Java中的String类被设计为final类?
String类作为Java中不可或缺的类之一,被设计成final类带来了不可变性、安全性、可靠性和性能优势。不可变的特性使得String对象在多线程环境下安全共享,提高了应用程序的并发性和性能。此外,String类的设计还符合Java类库的一致性和规范,确保了整个语言的稳定性和可靠性。因此,String类被设计成final类是出于多方面的考虑,以提供最佳的使用体验和编程效率。原创 2024-01-26 15:11:25 · 476 阅读 · 1 评论 -
Python定时器:掌握时间的魔法之道
在编程中,定时器是一种工具,允许我们在指定的时间间隔后执行特定的操作。Python的定时器模块提供了一种简单而强大的方式来实现这种功能。Python的定时器模块提供了一种便捷的方式来处理时间相关的任务。通过定时器,我们可以在指定的时间间隔后执行特定的操作。无论是执行定时任务、调度事件还是创建计时器功能,定时器模块都能满足我们的需求。希望本文对你理解和应用Python定时器提供了一定的帮助,让你掌握时间的魔法之道。原创 2024-01-23 10:49:11 · 438 阅读 · 1 评论