AI

您将深入了解人工智能(AI)的核心技术与应用,包括机器学习、深度学习、自然语言处理、计算机视觉等热门领域。我们提供最新的AI教程、技术文章、行业案例与实践指南,帮助您掌握AI技术,提升编程与数据分析能力。无论您是AI初学者还是专业开发者,都可以在这里找到丰富的学习资源,助力您的职业发展与技术创新。关注我们的AI板块,了解AI最新趋势,抢占未来科技先机!

机器学习第二篇:详解KNN算法

算法

机器学习第二篇:详解KNN算法

简说Python推荐来源:俊红的数据分析之路 作者:张俊红 我的2020总结,戳图片,留言抽大奖 大家好,我是老表~ 本篇介绍机器学习众多算法里面最基础也是最“懒惰”的算法——KNN(k-nearest neighbor)。你知道为什么是最懒的吗? 01|算法简介: KNN是英文k-nearest neighbor的缩写,表示K个最接近的点。该算法常用来解决分类问题,具体的算法原理就是先找到与待分类值A距离最近的K个值,然后判断这K个值中大部分都属于哪一类,那么待分类值A就属于哪一类。 这其实和我们生活中对人的评价方式一致,你想知道一个人是什么样的人,你只需要找到跟他关系最近(好)的K个人,然后看这K个人都是什么人,就可以判断出他是什么样的人了。 02|算法三要素: 通过该算法的原理,我们可以把该算法分解为3部分,第一部分就是要决定K值,也就是要找他周围的几个值;第二部分是距离的计算,即找出距离他最近的K个值;第三部分是分类规则的确定,就是以哪种标准去评判他是哪一类。 1、K值的选取 K值的选取将会对KNN算法的结果产生重大的影响,下面通过一个简单

By Ne0inhk
Python实现BP神经网络算法(理论+例子+程序)

算法

Python实现BP神经网络算法(理论+例子+程序)

Python实现BP神经网络算法(理论+例子+程序) * * * Python实现BP神经网络算法(理论+例子+程序) 在人工智能和机器学习的广阔领域中,反向传播(Backpropagation, BP)神经网络是一种广泛应用的监督学习算法。它通过调整网络中的权重来最小化预测值与实际值之间的误差,进而使网络能够学习和识别复杂的模式。本文将详细介绍BP神经网络的基本原理,通过一个具体的例子来展示其应用,并提供Python实现的详细代码。 一、BP神经网络基本原理 1. 网络结构 BP神经网络通常由输入层、若干隐藏层和输出层组成。每一层包含多个神经元,神经元之间通过权重和偏置连接。输入层接收外部数据,隐藏层负责数据处理,输出层输出最终预测结果。 2. 前向传播 在前向传播过程中,输入数据从输入层传递到输出层,经过各层神经元的加权和与激活函数的处理。假设第 l l l层的第 j j j个神经元的输入为 z j l z_j^l zjl ,输出为 a

By Ne0inhk
算法学习二,红黑树查找算法

算法学习二,红黑树查找算法

在红黑树的实现中,处理删除操作是一个复杂的过程,特别是当涉及到删除黑色节点时。红黑树的删除操作需要保持树的平衡和性质(即每条路径上的黑色节点数量相同)。以下是对红黑树删除操作的详细解释,特别是针对删除黑色节点的情况。 删除操作概述 删除节点:首先找到并删除目标节点。 重新平衡:如果删除的节点是红色,则不需要调整树的结构。但如果删除的是黑色节点,则需要进行重新平衡,以保持红黑树的性质。 重新平衡步骤 当删除一个黑色节点时,可能会导致树失去平衡,因为删除黑色节点会减少一条路径上的黑色节点数量。红黑树的重新平衡操作包括以下几种情况: 兄弟节点是红色: 将父节点和兄弟节点颜色互换。 对父节点进行左旋或右旋。 更新旋转后的新兄弟节点为黑色。 兄弟节点是黑色,且两个子节点都是黑色: 将兄弟节点设为红色。 如果父节点也是黑色,则继续向上调整。 如果父节点是红色,则将父节点设为黑色并结束调整。 兄弟节点是黑色,且有一个红色的左(右)子节点: 将父节点和兄弟节点颜色互换。 对兄弟节点进行右旋或左旋。 将旋转后的新兄弟节点设为黑色,并对新兄弟节点的另一个子节点进行左旋或右旋。

By Ne0inhk
GPU算力租用平台推荐

GPU算力租用平台推荐

GPU算力租用平台推荐 * * * GPU算力租用平台推荐 一、引言 随着人工智能和大数据技术的飞速发展,GPU算力已成为科研、工业、游戏等多个领域不可或缺的资源。然而,购买和维护高性能GPU设备不仅需要巨额投资,还需要专业的技术支持。因此,GPU算力租用平台应运而生,为用户提供便捷、经济的GPU算力服务。本文将为您推荐几家优质的GPU算力租用平台。 二、GPU算力租用平台推荐 1. 阿里云GPU云服务器 在当今日益发展的深度学习、科学计算和高性能计算领域,GPU(图形处理单元)的算力租用需求日益增加。为了满足广大用户的需求,市场上涌现出了众多GPU算力租用平台。今天,我们将首先为大家推荐阿里云GPU云服务器。 阿里云GPU云服务器以其强大的计算能力和稳定的性能,赢得了众多用户的青睐。其产品线涵盖了从入门级的GPU云服务器到针对高性能计算场景的专业级GPU云服务器,能够满足不同用户的需求。同时,阿里云还提供了灵活的计费方式,用户可以根据实际需求选择按量付费或包年包月的方式,进一步降低了使用成本。 2. 腾讯云GPU云服务器

By Ne0inhk
CLIP模型原理与代码实现详解

大模型

CLIP模型原理与代码实现详解

文章目录 * * * * * 前言 目前,大模型十分活跃,openai公司呈现GPT系列,特别是Chat-GPT给人深刻印象,意识到大模型厉害之处,随后推出GPT4模型,更是将大模型进一步推到一个高度,并将多模态融合技术留下深刻印象,同时,学者也对多模态融合技术研究呈现百花齐放之势。然而,多模态模型大多以CLIP所提方法或思路实现多模态融合。为此,本文将重新回顾CLIP论文相关理论,也重点梳理其源码,并附其代码供读者参考(本文会涉及VIT与BERT代码解读)。 提示:代码环境安装、重点部分代码解释(如:image encode(VIT),text encode(BERT)等) 论文地址: 官网源代码: 我的代码: 名称为:CLIP模型.zip 提取码:r63z 一、CLIP模型原理 1.背景介绍 CLIP算是在跨模态训练无监督中的开创性工作,作者提到早在2017年之后就陆续有工作提出和本文类似的想法,但数据量太少,而无好结果。本文收集4亿数据的大数据集,才得到很好的效果。这种现象最近好像在机器学习领域越来越突出。本文采用对比方式,

By Ne0inhk
DETR原理与代码超详细解读

算法

DETR原理与代码超详细解读

文章目录 * * * * * * * * * * * 前言 本文阐明DETR论文相关原理与源码解读,其中本文将花费大量笔墨解读源码,我将从数据准备到数据加工,到CNN特征提取,到transform编解码,到解码二分匹配,到端到端设计Loss,也简要说明DETR推理过程。本文是一篇极少涵盖DETR全部内容,重点结合代码运行过程,使本文有大量内容,初步计算,文字与代码共约5万字左右,实现DETR模型完整代码解读。最重要,本篇文章与大多博客有些区别,我是将DETR所有内容,并包含细节(如:可学习query 二分匹配等)也做了解读,并非其它博客要么解读一部分LOSS或二分匹配,甚至只是理论或文字解读,而未能结合代码说明。为此,我将结合代码,一步一步解读,直击核心,使读者读完便明白原理使用代码实现是如此简单。 论文名称(DETR):End-to-End Object Detection with Transformers 论文链接: 源码链接: 一、DETR论文原理 1、DETR整体介绍 DETR 是 Facebook 团队于 20

By Ne0inhk
第一节 LLaVA模型安装、预测、训练详细教程

第一节 LLaVA模型安装、预测、训练详细教程

文章目录 * * * * * * 引言 本博客介绍LLava1.5多模态大模型的安装教程、训练教程、预测教程,也会涉及到hugging face使用与wandb使用。 源码链接: demo链接: 论文链接: 一、系统环境 ubuntu 20.04 gpu: 2*3090 cuda:11.6 二、LLava环境安装 1、代码下载 git clone https://github.com/haotian-liu/LLaVA.git cd LLaVA 2、虚拟环境构建 conda create -n llava python=3.10 -y conda activate llava pip

By Ne0inhk
基于transformer的解码decode目标检测框架(修改DETR源码)

基于transformer的解码decode目标检测框架(修改DETR源码)

提示:transformer结构的目标检测解码器,包含loss计算,附有源码 文章目录 * * * * * * * * * * * * * * * * * * * * * * * * * 前言 最近重温DETR模型,越发感觉detr模型结构精妙之处,不同于anchor base 与anchor free设计,直接利用100框给出预测结果,使用可学习learn query深度查找,使用二分匹配方式训练模型。为此,我基于detr源码提取解码decode、loss计算等系列模块,并重构、修改、整合一套解码与loss实现的框架,该框架可适用任何backbone特征提取接我框架,实现完整训练与预测,我也有相应demo指导使用我的框架。那么,接下来,我将完整介绍该框架源码。同时,我将此源码进行开源,并上传github中,供读者参考。 一、main函数代码解读 1、整体结构认识 在介绍main函数代码前,我先说下整体框架结构,该框架包含2个文件夹,一个losses文件夹,用于处理l

By Ne0inhk
nn.embedding函数详解(pytorch)

nn.embedding函数详解(pytorch)

提示:文章附有源码!!! 文章目录 * 前言 最近发现prompt工程(如sam模型),也有transform的detr模型等都使用了nn.Embedding函数,对points、boxes或learn query进行编码或解码。因此,我想写一篇文章作为记录,本想简单对其 介绍,但写着写着就想把所有与它相关东西作为记录。本文章探讨了nn.Embedding参数、使用方法、模型训练与预测的变化,并附有列子源码作为支撑 ,呈现一个较为完善的理解内容。 一、nn.embedding函数解释 Embedding实际是一个索引表或查找表,它是符合随机初始化生成的正太分布的表,将输入向量化,其结构如下: nn.Embedding(num_embeddings, embedding_dim) 第1个参数 num_embeddings 就是生成num_embeddings个嵌入向量。 第2个参数 embedding_dim 就是嵌入向量的维度,即用embedding_dim值的维数来表示一个基本单位。 当然,该函数还有很多其它参数,解释如下: 参数源码注释如下:

By Ne0inhk
self.register_buffer方法使用解析(pytorch)

self.register_buffer方法使用解析(pytorch)

self.register_buffer方法使用解析 列子 self.register_buffer("position_emb", torch.randn((5, 3))) 第一个参数position_emb传入一个字符串,表示这组参数的名字,第二个就是tensor形式的参数torch.randn((5, 3)),并一次初始化后保存于模型,不会有梯度传播给它,能被模型的model.state_dict()记录下来,可以理解为模型的常数。当然,你想保留固定值,使用如下代码: self.register_buffer("position_emb", torch.tensor([[2,5],[8,9]])) 进一步探讨训练对该参数是否有影响,答案是:没影响。具体可看下面实现的列子代码: import

By Ne0inhk