自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 三、哈希表(2)

法三:defaultdict 是 collections 模块中的一个类,用于提供一个默认值。如果尝试访问不存在的键,它会自动创建该键并赋予默认值。if elif else才是完整3部分的结构,如果2个if +一个 else则类似满足条件则进去+一个2部分结构。剪枝:>target是不对的 因为负数+负数可以变小,当num[a]正数, target也是正数,才可以剪枝。a 那层循环要剪枝去重,b那层也要剪枝去重(这部分就是3数之和)时间复杂度: O(n^2)空间复杂度: O(n^2)空间复杂度: O(1)

2024-07-24 17:43:44 217

原创 四、字符串(1)

python中str和int都是不可变的类型,修改值之后其实得到的是新地址的新对象,而不是原来的对象,不像字典 列表 集合。用enumerate+字符串连接(反正是新开一个),直接得到对应位置s。元组虽然不可以通过下标修改,但是元素可以是可变变量,比如元素是列表。如果不是字符列表而是string,整体反转字符串。string超出下标边界也没有关系,列表就不行。步长其实可以是2k去循环,不用先算出来。不用额外空间 空间复杂度O(1)字符串类似数组,属于字符数组。

2024-07-24 15:52:32 605

原创 三、哈希表(1)

ord()返回单个字符对应的 Unicode 编码,用数组,索引可以用a~z的 ASCII 值,字符减去a,用两个数组可以优化成一个数组,先加计算s的,再减去t的,看是否等于0,看是否是空数组 生成器+all, 类似的还有any(),(是否有true) filter()(找出所有true的元素,常与lamba连用)找到了一个数,要看他的搭子有没有出现过,(在一些数中找一个数sum-num有没有)看有咩有出现过就用哈希表的方法。集合里,如果枚举查找,需要O(n),哈希表索引查找,只要O(1)。

2024-07-23 15:15:08 992

原创 二、链表(2)

快指针速度是慢指针的两倍,环长为b,前面直的部分长度为a,当慢指针到达入环的节点时,(走了一段直a)快指针的路径是他的两倍,(在环里走了a),实。接下来他们的速度差还是两倍,快的在前面,慢的在后面,两个的距离越来越大,慢的看做静止,快的相对于慢的走b-a次就能追上慢的,此时慢的也走了b-a次。相交部分长度c,走完a,再走一段b-c,就到了相交的head,对于b,走完b再走一段a-c,也到了相交的head,两个走的长度都一样,如果==就返回,(这个可能是Head也可能没有相交就纯None。

2024-07-22 21:05:25 330

原创 二、链表(1)

需要3个变量,除了pre cur还有nxt保存当前的下一个(不然当前翻转完找不到下一个了)创建一个虚拟哨兵头节点,就不用考虑原本头结点要不要删除。

2024-07-22 00:19:34 183

原创 一、数组(2)

当右端点移动到的区间和大于等于t时,记录区间长度,更新ans和左端点,可是左端点可能不止移动一次,所以左端点是while。定义长为n列表,要[None]*n 列表推导式,每个元素是none,而不是 [ ]*n,这个是对空列表重复n次,最终还是空列表。遍历的边界不断在变,分为l , r, u, d, 当上面一行遍历填充好[l,r],u就下移,以此类推,循环的条件是cnt

2024-07-20 17:50:44 258

原创 数据预处理

一般例如json数据可以用Pandas进行数据处理Pandas DataFrame 提供了丰富的数据处理和查看方法。

2024-07-19 16:22:22 271

原创 异步编程 进程 线程 协程(补充

进程:适用于需要完全隔离的任务,适合多核CPU。线程:适用于需要并发执行的任务,适合I/O密集型任务。协程:适用于异步I/O操作,具有更高效的资源利用。异步编程:通过不阻塞的方式处理I/O操作,提高程序响应速度和资源利用率。不同的编程模型和机制有各自的优缺点,选择合适的方式取决于具体的应用场景和需求。

2024-07-18 15:07:43 308

原创 2.1回溯算法-理论基础

回溯一般在递归底下,是一个纯暴力的搜索。

2024-07-16 21:33:07 112

原创 python装饰器

装饰器是一种强大的工具,能够在不修改原始函数代码的情况下添加或修改功能。它们在代码重用、功能增强和保持代码简洁方面非常有用。内置装饰器如@property和@dataclass提供了特定的功能,帮助开发者更方便地定义和使用类的方法和属性。

2024-07-12 16:30:01 395

原创 两种读取环境变量的方法:os.getenv()和os.environ[]区别

和都用于访问环境变量,但它们在使用上有一些区别。os.environ字典KeyErroros.getenv函数None。

2024-07-12 16:12:50 572

原创 通过 Azure OpenAI 服务使用 GPT-35-Turbo and GPT-4(win版)

Azure OpenAI 是微软提供的一项云服务,旨在将 OpenAI 的先进人工智能模型与 Azure 的基础设施和服务相结合。通过 Azure OpenAI,开发者和企业可以访问 OpenAI 的各种模型,如 GPT-3、Codex 和 DALL-E 等,并将其集成到自己的应用程序和服务中。

2024-07-12 15:54:00 1409

原创 Agent Group复现

3、有且只能有一个top_level script,这个top_level script就是最开始运行的那个脚本(python somefile.py)2)from A import B,先为A创建modules对象,再解析A,从中寻找B,并填充到A的__dict__中。1)import A,先在sys.modules中搜索是否存在A,存在则不加载不存在则先喂A创建module,并加载。= glm即可以在变化的时候停下。温馨提示,token量很大,最好搞的免费额度的。如果没有gpt,可以用其他,例如智谱。

2024-07-11 18:12:45 416

原创 python 笔试面试八股(自用版~)

2猴子补丁(Monkey Patch)和装饰器(Decorator)都是 Python 中用于修改或增强已有对象功能的技术,但它们的用途、实现方式以及适用场景有所不同猴子补丁(Monkey Patch)猴子补丁是在运行时动态地修改类或模块的行为。通过直接修改类或模块的属性,可以添加、修改或删除现有的方法、属性等。猴子补丁的主要优点是可以在不修改原始代码的情况下调整行为,这在调试、测试和扩展第三方库时非常有用。然而,猴子补丁可能导致代码难以维护和理解,因为它改变了对象的内部实现。

2024-07-01 22:23:57 1253

原创 一、群聊对话分角色要素提取-基础baseline代码

本系列是基于。

2024-07-01 22:07:22 242

原创 github上传代码

如果远程仓库在创建时勾选了readme,会创建一个main分支,里面有一个空的readme文件。在要上传的本地文件里右键,选择git bash here。

2024-06-25 19:23:57 433

原创 三、知识库搭建

词向量就是把词、句、文段通过向量的形式表示出语义信息。比如猫和狗在向量相似度上就比猫和苹果要近。词向量的优势是可以通过向量存储、相似度语义上的查询(而非关键词搜索);同时可以将多模态的信息映射成统一的向量形式。langchain内置了llama 千帆等emdedding但并没有包含所有大模型。

2024-06-24 22:58:28 920

原创 二、使用LLM api开发应用

大模型是通过概率预测下一个词的生成来组织输出的,将数值的概率变成最终的字符就是采样策略(也就是选择哪个词作为下一个的输出)。当温度较低时,候选词的概率分布差异大,模型就更容易选择概率较大的值,输出就更稳定,反之,输出就更有创造性。如果任务包含不一定能满足的假设(条件),我们可以告诉模型先检查这些假设,如果不满足,则会指出并停止执行后续的完整流程。system prompt是对大模型基调的定性,在整场回会话任务中规范着模型的输出,一般就只有一个。可以看到,通过分隔符,命令是命令,待处理是待处理,不会混淆。

2024-06-22 21:40:24 668

原创 一、大模型LLM理论简介

大模型是大规模参数和复杂计算结构的模型,参数达到十亿乃至上千亿。当参数变多,模型就会出现涌现能力。GPT系列是OpenAI的大语言模型,采用Transformer模型的编码器,而BERT采用解码器。编码器和解码器的作用编码器:捕捉输入序列的语义信息,通过自注意力层和前馈神经网络层处理输入词汇,以捕捉词汇间的依赖关系和语义信息。解码器:根据编码器的输出和之前的输出生成目标序列,通过自注意力层和前馈神经网络层进行多轮预测,生成新的输出序列。BERT。

2024-06-19 21:28:46 902

原创 3.1订阅智能体

订阅智能体能够在不同的时间里从外界收集信息并对信息总结。对于python工具要简单了解from bs4 import BeautifulSoup #导入 BeautifulSoup# 解析<body>"""# 查找所有的 <a> 标签# 查找 class 为 'title' 的元素# 查找 id 为 'link2' 的元素# 获取元素的文本内容# 获取元素的属性值# 遍历元素的子节点3、trigger() 函数负责定期生成需要发送的消息。

2024-05-28 16:50:18 917

原创 csdn恢复-没来及保存就没了的内容!

昨晚写完我的长文没有保存,直接更新了电脑,早上一来发现内容全没了!啊啊,当时内心:我的笔记!

2024-05-28 12:42:16 131

原创 3、单智能体开发

在metagpt看来,agent = LLM+观察+思考+行动+记忆。一个agent启动后会观察获取信息,加入记忆,进行多轮思考和行动后(ReAct)后输出结果。

2024-05-26 22:52:23 228

原创 2、智能体及框架

231,现在的大模型由于是根据上一个词生成下一个词,还停留在直觉性的快思考;通过思维链、reAct、反思等让他具有一定的思考能力。metaGPT同将目标分解,分配给不同的专家完成,增加了可靠性,同时,对于需要交互协作的复杂任务,metaGPT也能解决。所以,可以理解成chatgpt只解决了聊天,而metagpt解决了协作。metagpt是多智能体协作框架,标准化操作,采用结构化流程。通过评审来解决模型幻觉(错误)。思维分为快思考和慢思考,快思考是直觉性思考,例如2。2,慢思考是逻辑性思考,例如1399。

2024-05-26 17:17:29 217

原创 1、metagpt准备工作(安装部署)

报错:error: RPC failed;报错:TypeError: dataclass() got an unexpected keyword argument ‘slots’报错:mportError: cannot import name ‘BaseModel’ from ‘pydantic’python=3.10 一开始装的10,尝试建一个3.9的库。我的路径在如下,而不是进入metagpt。尝试安装最新版本的metagpt。创建虚拟环境、激活、获取。

2024-05-26 16:48:57 410

原创 MetaGPT异步编程基础

是在同一个处理器上,任务交替运行(趁别的任务等待或者IO操作的时候先运行其他任务),某一时刻只有一个任务运行;当 I/O 操作完成时,该协程会被唤醒继续执行,适合于I/O密集型的应用程序,提高并发性能。在异步方法中,顺序调用不代表顺序执行,异步函数返回的是一个异步对象,不会直接执行,添加到asyncio.gather才被调用执行,并发执行这些协程。是在不同处理器上,任务同时运行来减少总时间,某一时刻可以有多个任务在不同的硬件上运行;异步能够同时发起多个网络请求,在等待其中 一个的时候,处理其他请求。

2024-05-25 20:23:09 300

原创 1.6 链表(数组模拟链表)

(这里不能用Idx作为截止条件,因为最增删之后,不知道idx是否还在,所以直接在链表中看,虚拟左端点0的右边就是起始条件,右端点1是终止条件)单链表只能看到后面一个,不能看到前面一个点,所以在o(n)时间复杂度内只能在第k个点后面插入,不能在第k个位置插入。在第2个点后面插入一个值为6的点:e[idx] = 6, ne[idx] = ne[2], ne[2] = idx。第1个点,值 e[1] = 3 指针 ne[1] = 2。第2个点,值 e[2] = 2 指针 ne[2] = 3。

2024-05-15 15:06:11 377

原创 1.5链表(环形链表)

快指针走2步,慢指针一次走一步,那相当于慢指针不动,快指针每次一步靠近慢指针,所以一定会相遇,如果快指针是走3步,相对于慢指针是走2步,可能就会错过。相遇之后,再来两个指针,一个从head出发,一个从相遇点出发,这两个指针一次一步,相遇时即是入口x的位置。次数小于链表长度,快慢指针相遇后,两个index指针走的次数也小于链表长度,总体为走的次数小于 2n。n大于等于1,x = n(y+z)-y = (n-1)(y+z)+z。时间复杂度: O(n),快慢指针相遇前,指针走的。空间复杂度: O(1)

2024-05-12 14:42:21 145

原创 1.4 链表(链表相交)

这里相交是末端相交,即不会出现中间相交后面又分开的情况的。长度不一样不知道哪个和哪个比较,所以利用指针,移动到。

2024-05-11 23:03:46 149

原创 1.3 链表(删除链表的倒数第 N 个结点)

两个指针fast和 slow,fast先走n步,之后两个一起走。直到fast到达最后一个结点,slow指向待删除的前一个结点。待删除slow->next.需要返回头结点,所以最好还是用虚拟头结点。(不用单独考虑头结点被删)时间复杂度: O(n)空间复杂度: O(1)

2024-05-11 22:25:55 117 2

原创 1.2 链表(两两交换链表中的节点)

1、头处和中间处举例发现操作不一样,增强普适性 2、头结点会变,为了最后直接head = dummyhead->next)力扣24 https://leetcode.cn/problems/swap-nodes-in-pairs/description/1 2 3 4变成2 1 4 3。下一轮,cur要指向第二个位置就是新的1的位置,才能处理下轮的4个,变成 2->1 1->3 dummyhead ->2。加入虚拟头结点之后就发现一共是4个结点之间的关系。时间复杂度:O(n)空间复杂度:O(1)

2024-05-11 22:03:00 159 2

原创 1.1链表(翻转-双指针|递归)

初始化两个指针 cur (head) pre(null),遍历结束的时候pre指向最后一个,cur指向Null,不需要再反转指向啦、tmp临时保存cur的下一个节点,不然先反转cur之后就找不到了。力扣206 https://leetcode.cn/problems/reverse-linked-list/直到有一个return.注意两处reverse传参,思路来自于双指针。时间复杂度: O(n)空间复杂度: O(1)

2024-05-11 20:51:16 192 2

原创 一、链表笔记

口诀:插入先连后再前,删除留前连后后;(插入的时候需要先连后面,把原本的下一个cur->next给newnode->next,再更新cur->next为newnode;删除的时候cur是删除位置index的前一个,删的是cur->next,这样才能把后后的cur->next->next连到cur上,最后delete完手动nullptr一下指针。遍历时得由一个新指针 cur,不然head遍历完找不回头了。链表节点定义。

2024-05-11 16:51:54 313 1

原创 第一模块-图像分类

在ROC曲线中,横轴是假正例率(False Positive Rate, FPR,分母是负样本总数),纵轴是真正例率(True Positive Rate, TPR分母是正样本总数)。Swin :W-MSA,把输入图像分成不同窗口,只在窗口里面计算,所以图片大小变大,计算量只是线性的,但是没有窗口与窗口间的联系,所以引入了滑动窗口(shifted window)精度是对于所有预测为正样本而言的,包括了实际是负样本,错误预测为正样本,召回是针对所有正样本而言的,包括了实际为正样本预测成负样本。

2023-04-28 13:35:35 168

原创 【无标题】

α 是权重因子,一般为1.如果数据集中不同类别样本不均衡,比如数量大的类别(eg1000个)和数量小的类别(eg10个),这样用普通交叉熵模拟下来,模型更倾向于预测数量大的类别,这是因为数量大的对损失函数的贡献大。那么我们将数量少的类别α设置的更大,那就可以平衡不同类别的数量对网络造成的影响,在后续的预测中能够等概率的预测不同类别。下面一个是anchor的参数,A是每个检测位置一共有几个anchor,这里不考虑这个框是属于哪一类,只看它本身的回归参数,所以不是4KA,而是4A,这样减少了计算。

2023-04-27 10:25:30 86

原创 Faster RCNN

注:文章是学习的学习笔记哦,真的是位很棒的up,有兴趣的同学可以去看看~

2023-04-22 16:46:14 206

原创 FPN结构详解

backbone是用于提取特征的主干网络,提取目标的位置大小形状等特征,常见的目标检测backbone包括AlexNet、VGG、ResNet、DenseNet、MobileNet等,较深的backbone网络可以提供更好的性能,但也会带来更多的计算成本。FPN通过在backbone网络中增加额外的横向连接和上采样模块,从而产生了一系列具有不同尺度的特征图,并通过自顶向下的路径传递信息,并在不同层次上进行融合,以实现对不同尺度目标的更好表示和检测。的学习笔记哦,真的是位很棒的up,有兴趣的同学可以去看看~

2023-04-22 14:56:45 695

原创 跑一下retinanet,记录一下错误

参照这位大佬的项目代码。

2023-04-21 20:21:39 145

原创 蔚来汽车嵌入式系统面试记录贴

一开始会有一道编程题,我的是字符串翻转,面试官后台可以看到,感觉如果对题意有些不理解可以先实现最简单的功能,比如不知道字符串的长度不妨就设为已知量,等实现了再修改。之后就问了自我介绍,挑了一个项目问了细节,问了C或者C++哪一个比较熟悉,知道C++中多态吗?关于数组和链表的区别?由于本人基础太薄弱了,很多知识都有欠缺,面试官最后给的建议是如果想应聘嵌入式系统工程师,关于数据结构,操作系统需要多了解,C和C++起码有一门需要熟练掌握,后续在这方面的学习也要加强。

2023-04-21 17:00:03 528

原创 卷积神经网络基础

卷积层BP神经网络:BP算法包括信号的前向传播和误差的反向传播两个过程,计算误差输出时由输入到输出两个方向,而调整权值和阈值是输出到输入两个方向。利用BP神经网络训练了LeNet5(CNN面世) (GPU计算速度远大于CPU)

2023-03-30 11:33:29 285

原创 目标检测mAP计算以及coco评价标准

猫这个目标的AP,表中recall与上一行相减、并乘上这一行及以下的precision的最大值,所求乘式依次相加。PR曲线: Precision-Recall曲线(一个不变,另一个越大越好,所以AP肯定越大越好)TP: IoU>0.5的检测框数量(同一Ground Truth只计算一次)(实际真检测真)FP: IoU

2023-03-11 17:07:51 164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除