自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何快速配置Linux

目的:磨刀不误砍菜刀,记录一下装双系统的步骤和流程,省得以后再装的时候找不到资料。参考链接:https://blog.csdn.net/qq_24624539/article/details/81775635我是在装有windows 10系统的电脑上装ubuntu 18.04。目录一、准备工作二、如何分配空间三、安装过程要点四、总结一、准备工作1. 一个备份好文...

2020-03-30 23:12:21 273

原创 【书生·浦语】大模型实战营作业合集

第一节课笔记:http://t.csdnimg.cn/GiuJP第二节课笔记:http://t.csdnimg.cn/7Bimv第二节课作业:http://t.csdnimg.cn/W7jSV第三节课笔记:http://t.csdnimg.cn/wwG6A第三节课作业:http://t.csdnimg.cn/Z7ek7第四节课笔记:http://t.csdnimg.cn/0uJrm第四节课作业:http://t.csdnimg.cn/ndffV第五节课笔记:http://t.csdnimg.cn/mQnhw

2024-01-29 12:54:30 231

原创 【书生·浦语】大模型实战营——第六次作业

1. 创建虚拟环境2. 数据集准备3. 查看支持的数据集和模型。

2024-01-23 11:00:42 456

原创 【书生·浦语】大模型实战营—— OpenCompass 大模型评测

模型评测是指对真实应用场景下模型能力提升效果的测评,可以从模型知识、推理、语言长文本、智能体、多轮对话情感、认知、价值观等方面入手。一般来说可以通过自动化客观评测、人机交互评测以及基于大模型的评测进行评测。

2024-01-22 19:26:24 380

原创 【AIGC入门一】Transformers 模型结构详解及代码解析

在Transformer提出之前,NLP主要基于RNN、LSTM等算法解救相关问题。这些模型在处理长序列时面临梯度消失和梯度爆炸等问题,且这些模型是串行计算的,运行时间较长。Transformer 模型的提出是为了摆脱序列模型的顺序依赖性,引入了注意力机制,使得模型能够在不同位置上同时关注输入序列的各个部分,且支持并行计算。该模型的提出对深度学习和自然语言处理领域产生了深远的影响,成为了现代NLP模型的基础架构,并推动了attention 机制在各种任务中的应用。

2024-01-15 22:31:55 1062 1

原创 【书生·浦语】大模型实战营——第五次课程作业

运行上述命令后,会在当前目录新建workspace文件夹,里面存放着转化后的权重文件。以开始以为运行命令参数是 l。

2024-01-15 22:25:59 483

原创 【书生·浦语】大模型实战营——LMDeploy 大模型量化部署实战

量化可以大大降低显存,同时提升推理速度。LLM 是典型的访存密集型任务。

2024-01-15 11:51:05 413

原创 【书生·浦语】大模型实战营——XTuner InternLM-Chat 个人小助手认知微调实践

配置基础环境(pytorch = 2.0.1,python = 3.10),clone xtuner仓库并进行源码安装。

2024-01-13 22:14:48 400

原创 【书生·浦语】大模型实战营——XTuner 大模型单卡低成本微调实战

大语言模型是在海量的文本内容上以无监督或半监督的进行训练的,这些海量的文本内容赋予了大语言模型各行各业的知识。但是如果想将大语言模型用到实际的生产或者科研中,往往会发现模型的回答不尽如人意。这种时候我们就需要微调(finetune),以使其在具体的场景或者领域中输出更好的回答。常见的两种微调策略分别是增量预训练和指令跟随。其中增量预训练是指给模型投喂一些新知识,这些新知识是目标领域有关的文本内容,让基底模型学习到一些新知识。而指令跟随是指让模型学会对话模板,根据人类指令进行对话。

2024-01-12 21:06:15 411

原创 【书生·浦语】大模型训练营——第三次课程作业

1. 在InternStudio上新建虚拟环境并安装所需依赖2. 拷贝模型internlm-chat-7b(也可以通过下载的方式)3. 下载词向量模型由于huggingface 下载速度可能有点慢,可以使用huggingface 镜像下载。4. 下载NLTK相关资源在使用开源词向量模型构建开源词向量的时候,需要用到第三方库nltk的一些资源。所以从国内仓库镜像地址下载相关资源,并保存到服务器上。

2024-01-12 17:14:13 930

原创 【书生·浦语】大模型实战营——基于InternLM 和LangChain 搭建个人知识库

核心思想: 对于每个用户的输入,首先基于向量模型将输入文本转化为向量,并在向量数据库中匹配相似的文本段,主要是因为相似的文本段大概率包含了问题的答案。最后将用户的输入和检索到的相似文本段嵌入到模型的prompt中,然后传递给LLM,并得到最终的答案。目前LLM具有强大的语言理解、指令跟随和语言生成的能力,具有强大的知识储备和一定的逻辑推理能力,能够作为基座模型支持多元应用,是解决复杂问题和应用于多领域的强大工具。基于LangChain搭建RAG应用关键的一个步骤是如何把本地的文档保存到向量数据库中。

2024-01-11 16:59:08 815

原创 【书生·浦语】大模型实战营——浦语大模型趣味Demo

大模型是指人工智能领域中参数数量巨大、拥有庞大计算能力和参数规模的模型。利用大量数据进行训练;拥有数十亿甚至数千亿个参数;模型在各种任务中展现出惊人的性能;InternLM是一个开源的轻量级训练框架,旨在支持大模型训练而无需大量的依赖。通过单一的代码库,它支持在拥有数千个GPU的大型集群上进行预训练,并在单个GPU上进行微调,同时实现了卓越的性能优化。

2024-01-07 14:50:44 783

原创 【书生·浦语】大模型实战营——第二次课后作业

【代码】【书生·浦语】大模型实战营——第二次课后作业。

2024-01-06 23:51:56 383

原创 【书生·浦语】大模型实战营——大模型全链路开源体系

大语言模型在最新信息和知识的获取、回复的可靠性、数学计算以及工具使用和交互上有些问题,需要agent处理一些事情。支持多个主流智能体系统,如 LangChain,Transformers Agent,Lagent 等。丰富的工具集合,尤其是提供了大量视觉、多模态相关领域的前沿算法功能。灵活的多模态工具调用接口,可以轻松支持各类输入输出格式的工具函数。使用场景:让模型学会理解和遵循各种指令,或者注入少量领域知识。一键式远程工具部署,轻松使用和调试大模型智能体。2. OpenCompass 主要内容。

2024-01-04 18:51:15 365

原创 代码随想录训练营第二十五天| 第七章 回溯算法 part2

本题与“组合”题目很相似,都是寻找k个数,但是本题要求这k个数的和为n。另外两道题目的集合范围也不一样。本题是从1~9中进行取值。可以看出,本题的不同在于孩子结点 的集合范围和父结点没有关系, 所以在循环开始之前首先要求出集合,即通过映射关系拿到对应的字符串。可以使用map 或者定义一个二维数组做映射(数组的使用有些遗忘,需要补一下)。

2023-12-03 10:02:11 43

原创 代码随想录训练营第二十四天|第七章 回溯算法part 01

回溯法也称作回溯搜索法,是一种搜索的方式。回溯和递归联系很紧密,只要有递归就会有回溯。另外,回溯法的效率很低,是穷举所有的可能,属于暴力搜索。

2023-12-03 09:44:46 34

原创 代码随想录训练营第二十一天| 第六章 二叉树 part 07

由于二叉搜索树的性质(左边 小于右边),且所有结点的值都是非负数,所以最小差值肯定在相邻结点中产生。另外, 为了求解最小差值,定义两个指针指向相邻元素,依次移动两个指针求出差值并进行比较,从而得出最小差值。如果找到一个结点,其左子树出现结点p ,或者右子树出现结点q(反之也行), 那么该结点就是结点 p 和q 的最近公共祖先。最直观的解法就是遍历二叉树,用map统计频率,并将频率进行排序,最后取前面高频元素的集合。那么如果左、右子树的返回值都不为空,说明此时的中结点一定是q 和 p 的最近祖先。

2023-11-29 19:41:15 37

原创 代码随想录训练营第二十二天| 第六章 二叉树 part8

二叉搜索树满足左子树的所有值小于中间结点的值,右子树的所有值大于中间结点的值。所以如果中间结点是p、q的公共祖先,中间结点的数值一定是在这个区间内的。从上往下递归遍历,第一次遇到符合条件的结点值,就是我们所要找的最近公共祖先。如何通过递归函数返回值完成新加入结点的父子关系赋值操作: 下一层将加入结点返回,本层用root->left 或者 root->right 接住。由于不知道p 、q结点值的大小,所以可以先进行判断,p对应val值较小的结点。本题的关键是遇到空结点就插入结点就可以。

2023-11-29 18:50:56 21

原创 代码随想录训练营第十四天| 二叉树part 01

int val;

2023-11-23 20:38:52 268

原创 代码随想录训练营第15天| 二叉树part 02

层序遍历主要是从左到右一层一层的遍历二叉树,主要需要借助队列来实现。队列先进先出,符合一层一层遍历的逻辑。

2023-11-23 16:47:01 291

原创 代码随想录训练营 day16| 第六章 二叉树part03

所以,如果左子树为空,右子树不为空,说明最小深度是 1+右子树的深度;反之,右子树为空,左子树不为空,最小深度是 1 + 左子树的深度。其中使用前序求的是深度,使用后续求得是高度。本题要求该树的所有结点个数,最直观的想法应该就是使用层序遍历法, 遍历每一层并统计每个层中的结点数量。如果使用递归法, 在单层递归逻辑中,先求左子树的结点数量,再求右子树中的结点数量,最后取总和加1。的最短路径上的结点数量, 注意是叶子结点。因此本题与最大深度不同的是, 最近的叶子结点不一定在最后一层。的最长路径上的结点数。

2023-11-23 16:19:29 271

原创 代码随想录训练营第七天| 哈希表part 2

本题要求在一个数组中找到和为0的三个数,同时且不重复的三元组。不重复的是指i、j、k不能是同一个。该题可以使用双指针法进行解题,首先固定i, 然后left、right分别对应j、k,以此遍历得到三个数。在遍历之前已经对数组进行排序了,所以去重只需要判断当前值是否与前一个值相同。本题和三数之和解题思路类似,整体还是利用双指针。另外,需要注意的是本题所求之和是target, 不是0。本题要求统计有多少个元组满足要求,注意没说要对元组去重,所以本题难度稍微降低了一些。同样,本题也需要考虑去重。

2023-11-19 22:33:14 447

原创 代码随想录训练营第十一天| LeetCode 20. 有效的括号、LeetCode 1047. 删除字符串中的所有相邻重复项、 LeetCode 150. 逆波兰表达式求值

本题还是利用栈(后进先出)的性质,如果遇到不重复的字母,直接压入栈中,如果下一个字母和栈顶元素相同,直接移除栈顶元素即可。另外需要注意,本题要求返回的是字符串类型,一开始处理好的数据保存在栈中,简单出栈的话得到的结果是逆序的,还需要做一步反转的操作。其实本题可以看作“消消乐”, 当遇到左括号时需要保存,当遇到右括号时再考虑是否要进行消除操作。另外,可以发现消除操作只和最后一次保存的状态有关,所以我们需要用到。本题要求判断字符串s是否满足括号对齐的要求,即左括号 和 右括号必须要是相同的类型,且顺序一致。

2023-11-18 10:25:10 538

原创 代码随想录训练营第十天| LeetCode 232. 用栈实现队列、 LeetCode 225. 用队列实现栈

push数据的时候,只需要把数据放进输入栈即可。但在pop的时候,操作就复杂一些。如果输出栈为空,就需要把输入栈里面的数据全部导入进来,然后从出栈弹出数据。如果输出栈不为空,则直接从出栈弹出数据即可。首先明确队列和栈的区别:栈是先进后出、队列是先进先出。要使用栈来模拟队列的行为,需要用到两个栈: stack_in、 stack_out。

2023-11-17 19:30:43 572

原创 代码随想录训练营第六天| 字符串 part 01

本题的要求是将数字替换为number,这样字符串的长度就会变长,每有一个数字,size 需要增加5。所以第一步就是要统计字符串中有多少个数字( s[i] >='0' && s[i]

2023-11-15 21:11:02 766

原创 代码随想录训练营第五天| LeetCode 242. 有效字母的异位词、 LeetCode 349. 两个数字的交集、LeetCode 202. 快乐数、LeetCode 1. 两数之和

unordered_set 的 读写效率是最高的,并不需要对数据进行排序,而且可以让数据不重复。因为字符a到字符z的ASC|| 是 26个连续的值, 所以。快乐数是指:将正整数上的每个位置上的数字进行平方求和,如果这个数不是1,就重复上述操作直到这个数变成1。第二个要抓住“无限循环”这一关键点,如果出现之前的数 说明再循环也不会出现1了,那就可以直接退出该循环。输出结果中的每个元素一定是唯一的,也就是说输出的结果要去重。如果简单的用暴力法进行遍历,要是nums2中出现重复值,就没法排除。

2023-11-14 20:39:37 823

原创 代码随想录训练营第四天 |LeetCode 24. 两两交换链表中的节点、LeetCode 19. 删除链表中的倒数第N个节点、LeetCode02.链表相交、LeetCode 142. 环形链表||

这里我们需要记住一个性质:倒数第N个节点移动到空节点需要N步,即这两个节点相当于差N步。分别定义fast 和 slow两个指针,从头节点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果fast 和 slow 指针在中途相遇,说明这个链表有环。最直接的暴力解法就是将A中的节点与B中的节点依次进行对比,从而得出是否相交,这个的时间复杂度是 o(m*n)。链表相交说明两个链表中有重复的部分,这个重复的部分可能是一个节点,也有可能是一个子链。本题就需要用到两个节点是否相等这一特点。

2023-11-13 20:08:02 900

原创 代码随想录训练营第三天 | 203. 移除链表元素、 707. 设计链表、206.反转链表

主要使用双指针法,其中cur指向更新前的链表,pre 指向更新后的链表。同时注意到几个函数和序号有关,可以定义一个记录链表长度的变量,另外注意的是链表的序号从0开始。移除链表元素主要是让节点next指针直接指向下 下一个节点就可以了,这边需要注意的是如果是头结点,直接向后移动一位就可以了。如果直接在原来的链表上进行操作,就需要对头节点和中间节点分开讨论,所以一般会选择设置一个虚拟头节点。将一个值为val的节点插入到链表中下标为index的节点之前。将一个值为val的节点追加到链表中作为链表的最后一个元素。

2023-11-10 20:43:09 1173

原创 代码随想录算法训练营第二天| LeetCode 977 有序数组的平方、209. 长度最小的子数组、59.螺旋矩阵||

本题使用滑动窗口的解题思路,首先固定窗口的左边界(从0开始),然后移动窗口的右边界(从0开始)直至满足窗口内的和大于target,判断此时窗口的长度是否小于前一次的状态。目前该窗口中的子数组可能还满足条件(例如窗口右边界对应的值非常大),此时需要移动窗口的左边界(同时sum减去之前左边界对应的值),并再次判断。给定的数组是非递减顺序的整数数组(可能有负数),要求返回的也是按非递减排序的 平方后的数组。其实,该题的核心在于对一个区间内的值进行平方,其最大值只会在其左、右边界取出(函数的性质)。

2023-11-09 22:54:54 1270

原创 代码随想录算法训练营第一天|LeetCode 704 二分查找、LeetCode 27 移除元素

(即区间是左闭右闭, 还是左闭右开)。因为不同的定义方法会影响left、right指针的初始化、循环条件的判定以及后续区间调整的策略。以初始化为例,区间是“右闭” 或者“右开” 时 right指针取值不同。

2023-11-08 16:21:10 1399

原创 深度学习常见数据集格式解析

深度学习中常见的数据集格式(主流的目标检测网络要求的格式)主要分为VOC、COCO以及YOLO格式,但是不同的数据标注软件导出的标注格式可能不尽相同,所以我们需要了解不同数据格式的特点以及如何互相转化。

2023-04-23 11:31:05 2999 2

原创 Numpy 入门实战指南

在计算和操作数组时,有时会将数据复制到新数组中,有时候不会。完全不复制:True(3, 4)视图或者浅拷贝:不同的数组对象共享相同的数据>>> c is aFalseTrueFalse>>>(3, 4)>>> a深拷贝:生成数组及其数据的完整副本>>> d is aFalseFalse>>> a。

2023-03-30 15:05:38 167

空空如也

空空如也

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

TA关注的人

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