- 博客(532)
- 资源 (11)
- 收藏
- 关注
原创 【论文精读-代码生成】Structured Chain-of-Thought Prompting for Code Generation
CoT的最大生成长度为600个token,因为是CoT提示需要生成中间的推理步骤和代码。直观地说,结构化的中间推理步骤造就了结构化的源代码。因此,我们要求 LLM 使用程序结构构建 CoT,得到 SCoT。与 CoT prompting 相比,SCoT prompting 明确约束 LLMs 从源代码的角度思考如何解决需求,进一步提高了 LLMs 在代码生成中的性能。源代码可以用树表示(e.g., 抽象语法树),可以设计一种基于树的提示技术,它使用llm来生成树。源代码包含丰富的结构信息,
2024-03-24 16:30:00
1222
原创 【论文精读-大模型评估】CoderEval: A Benchmark of Pragmatic Code Generation with Generative Pre-trained Models
基于预训练和微调范式的代码生成模型在学术界和工业界都有越来越多的尝试,形成了著名的工业模型,如 Codex、CodeGen 和 PanGu-Coder。为了评估这些模型的有效性,提出了多个现有基准(如 HumanEval 和 AiXBench),其中只包括生成独立函数的情况,即只能调用或访问内置函数和标准库的函数。
2024-02-04 20:10:10
1209
原创 【论文精读-强化学习+大模型】Guiding Pretraining in Reinforcement Learning with Large Language Models
强化学习算法通常在缺乏稠密、形状良好的奖励函数的情况下难以发挥作用。内在动机探索方法通过奖励访问新状态或转换的智能体来解决这一局限性,但这些方法在大型环境中的优势有限,因为在这种环境中,发现的大多数新奇事物都与下游任务无关。我们介绍了一种利用文本语料库中的背景知识来塑造探索的方法。这种方法被称为 ELLM(使用 LLMs 进行探索),它能对智能体实现语言模型建议的目标给予奖励,而语言模型则会对智能体的当前状态进行描述。
2024-01-25 11:05:53
944
原创 【计算机算法设计与分析】罗密欧与朱丽叶的迷宫问题(C++_回溯法)
每一个方恪表示迷宫中的一个房间。罗密欧位于迷宫的(p,q)方格中,他必须找出一条通向朱丽叶所在的(r,s)格的路,在朱丽叶方格之前,他必须走遍所有未封闭的房间各一次,而且要使到达朱丽叶方格的转弯次数为最少。将计算出的罗密欧通向朱丽叶的最少转弯次数和有多少条不同的最少转弯道路。第一行有3个正整数n,m,k,分别表示迷宫的行数,列数和封闭的房间数。接下来的k行中,每行2个正整数,表示被封闭的房间所在的行号和列号。最后的2行,每行也有2个正整数,分别表示罗密欧所处的方格(p,q)和朱丽叶所处的方格(r,s)。
2024-01-06 16:30:00
1118
原创 【计算机算法设计与分析】棋盘覆盖问题(C++_分治法)
若不在,则填充一个特殊方格,将其改变成一个更小的特殊棋盘(子问题),依次递归解决。按照这样来算,对于当前的整个棋盘的四部分来说,有特殊方格那部分不用覆盖,而其余三部分都新增了一个特殊方格,恰好凑成一个L型骨牌,递归直到当前棋盘只有一个方格为止。棋盘覆盖:用4种不同形态(方向不同)的L型骨牌覆盖一个给定的特殊棋盘(即特殊方格的位置已经确定了)上除特殊方格外的所有方格,且任何两个L型骨牌不得重复覆盖。个方格组成的棋盘中,若恰有一个方格与其他方格不同,则称该方格为一个特殊方格,且称该棋盘为一个特殊棋盘。
2024-01-04 17:17:23
1761
原创 【计算机算法设计与分析】漂亮打印问题(C++_动态规划)
在每次更新c[j]时记录position[j] = i,即对于以单词j为结尾的一行来说,本行最佳起始位置为单词i。position数组中很多值都是无意义的,因为动态规划是从前往后算的,但是只有最后的数值才是全局的最优,输出时由果导因,即从后往前看。这里所说的“漂亮”的定义如下:在打印机所打印的每一行中,行首和行尾可不留空格;行中每两个单词之间留一个空格;如果在一行中打印从单词i到单词j的字符,则按打印规则,应在一行中恰好打印。因此,以各行(最后一行除外)的多余空格数的立方和达到最小作为“漂亮”的标准。
2024-01-04 17:00:00
994
原创 【计算机算法设计与分析】n皇后问题(C++_回溯法)
使用回溯法对解空间进行深度优先搜索遍历,同时要满足规则(任何两个皇后不放在同一行或同一列或同一斜线上),为节省时间我创建了四个数组:x[1000], y[1000], zr[1000], zl[1000],分别存储横轴、纵轴、左对角线、右对角线上是否已被占用的信息。zr[i - j + n]=1表示这条从左上到右下的对角线已被占用(所有处于同一条左上到右下对角线上元素的横坐标减纵坐标都相同,为了让索引为正,所以加n);按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。
2024-01-04 13:56:37
809
原创 【计算机算法设计与分析】九宫格问题/三阶幻方问题(C++_回溯法)
使用回溯算法计算九宫格问题的所有可行解,九宫格问题是指在 3×3 的网格中填入 1-9 个不重复的数字,同时满足以下条件:九宫格问题是指在 3×3 的网格中填入 1-9 个不重复的数字,并满足每行、每列或每条对角线上的所有元素之和都是 15。请注意,每个数字只能出现一次。回溯法,直白点说其实就是一个尝试一切可能的递归算法,也就是一种深度优先搜索算法,它的编写也满足递归的两个要点:结束条件和循环体。
2024-01-03 14:31:58
1073
原创 【计算机算法设计与分析】单源最短路径问题(C++_dijkstra算法-贪心算法)
迪杰斯特拉算法过程维护两个集合S和U,S集合包含已求出的最短路径的点(以及相应的最短长度),U集合包含未求出最短路径的点。由下图可以看出迪杰斯特拉算法实际上就是不断贪心地选择与起点距离最近的点,并将其从U集合中取出加入到S集合中,这个过程不断迭代,直到所有的点都被加入S。给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为非负值。请你求出s号点到每个点的最短距离。
2024-01-02 16:58:13
1216
原创 【强化学习】循序渐进讲解Deep Q-Networks(DQN)
由Experience Replay返回当前状态作为Q网络输入,Q网络使用随机初始化后的参数得到当前状态下可以采用的所有动作所对应的Q值,并按照ε-greedy策略选择要执行的动作输出给Experience Replay,其得到动作后与环境进行交互并得到下一状态以及奖励,并将这一系列数据作为训练数据与第一步产生的部分数据进行存储。在已存储数据中随机选择一批训练数据(S1,a4, R1, S2),将当前状态S1输入Q网络得到当前状态下所有动作对应的Q值,并选择a4对应的Q值。
2023-12-23 15:38:04
3659
原创 【计算机算法设计与分析】图像压缩问题(C++_动态规划)
状态转移方程更新的过程简单来说就是:在每次加入新像素点的时候从后往前去试,把新像素和前几个像素放在一起可以使总体的存储位数最少。,表示像素点i的灰度值。状态转移方程的含义是后k个像素点为一组,这k个像素点都按照最多存储长度来算,也就是。除去这k个像素点以外,前面的划分由于其满足最优子结构,还按照原本的来,即。由于多分了一组,新的组需要附加像素点数目l[i]的8位和最大像素存储长度。中,有I[i]个像素,且该段中每个像素都只用b[i]位表示。的最优分段,使得依此分段所需的存储空间最小。按此格式存储像素序列。
2023-12-22 16:30:00
1338
原创 【计算机算法设计与分析】最近点对问题(C++_分治)
针对点对在左侧和右侧的情况,我们只需要不断分治,直到一侧只有两个点的时,最近点对距离就是这两个点之间的距离dis;对于左右各一个点的情况,我们先按照之前的策略找到中线两侧分别的最近距离,然后再在中线两侧以两侧最短距离dis为界划出一个宽为2*dis的区域,再在这个区域内按照暴力解法找最近点对即可(按照鸽巢原理,只需要暴力遍历六个点即可)。我们给定了一个平面上由 n 个点组成的数组,问题是找出数组中最接近的一对点。最近点对问题的暴力解法为 O(n^2),计算每对点间的距离,并返回最小的距离。
2023-12-20 16:54:27
1073
2
原创 【强化学习】Q-learning原理及实现
Q-learning算法实际上相当简单,仅仅维护一个Q值表即可,表的维数为(所有状态S,所有动作A),表的内容称为Q值,体现该状态下采取当前动作的未来奖励期望。智能体每次选择动作时都会查询Q值表在当前状态下采取何种动作得到的未来奖励可能最多,当然也会添加一些随机性,使智能体可能选择别的可能当前认为未来奖励并不多的动作,以便跳出局部最优解,尽量得到全局最优解。
2023-12-04 00:23:40
1932
原创 【Django】Django框架使用指南
Django是一个基于Python语言的开源Web应用框架,采用MTV的软件设计模式,即模型(Model)、模板(Template)和视图(Views)。
2023-07-07 13:57:03
1443
原创 【Django-报错处理】form.is_valid()方法报错:KeyError: ‘###‘
字段不能满足定义的要求(最小六个字符长度)的话,就不会出现在。中,再判断其是否相等就可以了。根据上面的原理,我们只要先验证其是否在。经过查阅资料后发现,如果。方法在取值时发生错误。
2023-07-06 17:27:37
1286
原创 【基于Django框架的在线教育平台开发-02】用户注册功能开发
由于Django内置了用户数据表,因此并没有新建数据表,而是选择重写默认用户数据表。forms表单验证主要包括两部分:对前端表单数据的约束和对前端表单数据的验证。对数据的约束已经体现在变量定义中,数据验证则使用局部钩子对邮箱进行验证,保证邮箱唯一。这行代码中完成,系统会自动跳转到django内置的form表单验证模块进行验证,具体请看表单验证小节。A:定义一个函数,名字叫:clean_字段名字,内部,取出该字段,进行校验,如果通过,将该字段返回,如果失败,抛异常(ValidationError)
2023-06-23 22:55:06
1478
原创 【基于Django框架的在线教育平台开发-01】账号登录及退出登录功能开发
django中自带form表单验证模块,我们只需要在forms.py文件中规定表单字段,然后在视图层中创建该表单对象并使用模块内置的。- 若同时验证用户名和密码,数据库中存储的密码为密文,用户输入的是明文,要经过一次加密才能验证,编码复杂;使用django内置的form表单模块,验证数据是否有效,并获取表单数据,若数据无效则返回登陆页面;至此登录和退出登录功能开发完成,记得修改主页(index.html)的登录跳转按键相关属性。对应的信息中提示该错误,模板层开发中会使用该参数。
2023-06-22 23:54:58
1149
2
原创 【Flume】高级组件之Sink Processors及项目实践(Sink负载均衡和故障转移)
Sink Processors类型包括这三种:Default Sink Processor、Load balancing Sink Processor和Failover Sink Processor。Default Sink Processor是默认的,不用配置Sink group,就是咱们现在使用的这种最普通的形式,一个Channel后面接一个Sink的形式;
2023-06-22 11:58:50
1586
原创 【Django】模型层开发之创建并继承抽象模型类
开发系统时若在多个模型类中存在共同的数据项,那么可以将这些多次出现的数据项放在一个公共类中,使该类继承于models.Model类,而其他模型类继承于这个父类。但由于我们不需要这个公共类在运行时创建数据表,所以设置。数据项,除了课程表之外的其他表也都需要这个数据项,因此创建BaseModel抽象类包含该数据项,使其他需要该数据项的实体模型类继承于他。如下,我们举了一个例子:在课程表中除了课程名之外还需要定义一个。,将该父类定义为抽象类。
2023-06-21 13:36:05
348
原创 【Django】模型层开发之重写模型类
在Django模型层开发中,我们可能会碰到这样的场景:django内置的数据表已经包含了用户数据表,但是其中并不包含我们想要的数据项,那么这时候有两种选择,要么重写用户信息模型类要么重新编写一个新的用户信息模型类,若选择重新编写,那么在数据库中将出现两个用户信息类,信息冗余且浪费资源。由于是重写用户数据类因此要继承于AbstractUser类,而不是BaseModel类。参数格式为:app名.类名,而不是模块名.类名或包名.模块名.类名。可以清晰地看到不包含我们实际开发中需要的。
2023-06-21 10:40:49
272
原创 【Django】前端界面显示(FBV、CBV两种方式)
在编写页面显示的代码前应当先拆分页面静态文件(css,js,images)放入static,html放入templates之下。
2023-06-21 10:05:52
1080
原创 【Hadoop】大数据开发环境配置
注意:格式化操作只能执行一次,如果格式化的时候失败了,可以修改配置文件后再执行格式化,如果格式化成功了就不能再重复执行了,否则集群就会出现问题。hadoop集群就会使用到ssh,我们在启动集群的时候只需要在一台机器上启动就行,然后hadoop会通过ssh连到其它机器,把其它机器上面对应的程序也启动起来,为了不用每次输入密码,所以现在需要实现ssh免密码登录。集群只要涉及到多个节点的就需要对这些节点做时间同步,如果节点之间时间不同步相差太多,会应该集群的稳定性,甚至导致集群出问题。
2023-06-15 23:45:24
1709
1
原创 【Django】使用xadmin构建后台管理系统
由于xadmin报错实在是太多了,我前前后后改了三十多个报错,查阅了数百篇博客以及文献。这里之所以要添加crispy_bootstrap3和django.conf配置,是为了避免之后的报错。修改在xadmin网页中显示的该app名称(编辑app目录下的apps.py),因此我建议你使用该仓库的xadmin版本。
2023-06-14 12:16:04
1585
原创 【Django-报错处理】TypeError: ‘Pointer‘ object is not subscriptable
TypeError: 'Pointer' object is not subscriptable.
2023-06-11 22:10:51
438
原创 【Django-报错处理】django.template.exceptions.TemplateDoesNotExist: bootstrap3/field.py
在django中引入xadmin后出现数十个报错信息,通过这篇博客:django安装xadmin及问题处理,即可解决绝大部分问题,但本文题目中标注的问题无法解决。
2023-06-11 00:56:36
411
原创 【Django】前后端数据交互
后端接收数据时,为了使用同一个函数既处理get操作,又处理post操作,所以需要加上if判断访问该url的方式;获取数据时使用request.POST.get()函数。从后端传递数据到前端,一般采用字典格式,通过render()函数直接传递即可,字典的key就是前端input标签的value属性中可以引用的数据。dango将数据从后端获取并显示在前端时,每一个input标签的value显示后端数据,下面代码的。是django前端模板的使用方式,意为显示后端传递的message数据对象的name属性。
2023-06-06 10:16:58
1584
原创 【Django】Mysql数据库操作(增、删、改、查)
save():若数据存在则更新数据;若数据不存在则插入。(存在与否根据主键判别)删除all()和filter()到的queryset数据。要么for循环遍历后逐个删除,要么一次性全部删除。filter()条件查询查询操作。all()查询获取所有数据。get()获取一个数据对象。删除get()到的数据对象。查看执行的sql语句。
2023-06-06 00:25:32
1212
原创 【动手学深度学习】现代卷积神经网络汇总
本文汇总现代卷积神经网络,包括LeNet、AlexNet、VGG、NiN、GoogLeNet、ResNet、DenseNet。列举各网络的网络结构、实现代码以及其网络特征。
2023-05-13 23:13:17
1793
9
原创 【动手学深度学习】使用块的网络(VGG)
原始VGG网络有5个卷积块,其中前两个块各有一个卷积层,后三个块各包含两个卷积层。 第一个模块有64个输出通道,每个后续模块将输出通道数量翻倍,直到该数字达到512。由于该网络使用8个卷积层和3个全连接层,因此它通常被称为VGG-11。
2023-04-21 10:39:21
311
原创 【Flume】高级组件之Channel Selectors及项目实践
通俗来讲,Channel Selectors组件控制Source采集到的数据分别流向哪些Channels。组件包括Replicating Channel Selector、Load Balancing Channel Selector和Multiplexing Channel Selector,其中Replicating Channel Selector是默认的Channel选择器,它会将Source采集过来的Event发往所有Channel;
2023-02-10 23:44:57
918
原创 【Flume】高级组件之Source Interceptors及项目实践
Flume的核心组件包括:Source、Channel和Sink;Source Interceptors:Source可以指定一个或者多个拦截器按先后顺序依次对采集到的数据进行处理;Channel Selectors:Source发往多个Channel的策略设置,如果Source后面接了多个Channel,那么到底是给所有的Channel都发,还是根据规则发送到不同Channel,这些是由Channel Selectors来控制的;
2023-02-08 13:24:45
542
原创 【Flume】Flume实践之采集网站日志上传至HDFS
将机器A(bigData02)和机器B(bigData03)两台机器实时产生的日志数据汇总到机器C(bigData04)中,再通过机器C(bigData04)将数据统一上传至HDFS的指定目录中。因为一台机器可以有多个ip,例如:内网ip、外网ip,如果通过bind参数指定某一个ip的话,表示就只监听通过这个ip发送过来的数据了,这样会有局限性,所以使用通用ip。一共涉及到三个机器,其中机器A和B收集网站信息,并发送给机器C汇总传输到HDFS,因此需要配置三台机器,机器A和B的配置基本相同。
2023-02-06 15:34:32
1354
原创 【Flume】Flume实践之采集文件内容上传至HDFS
要完成这个任务就需要使用在采集数据时使用Spooling Directory Source组件;传输数据时为了保证数据没有丢失风险,使用File Channel组件;在运行Flume之前应该先检查建立采集数据的文件夹和文件,且系统此时直接启动会报错提示找不到SequenceFile,虽然我们已经把fileType改为了DataStream,但是Flume默认还是会加载这个类。Flume各个组件的参数很多,因此通常复制官网的各组件样例程序并参照参数表进行修改。解决了这个问题后,在。
2023-02-03 00:00:13
3523
原创 【Flume】Flume原理简述及示例实践
首先看左边这个Agent,给他起个名字叫 foo,有一个Source,Source后面接了3个Channel,表示Source读取到的数据会重复发送给每个Channel,每个Channel中的数据都是一样的,针对每个Channel都接了一个Sink,这三个Sink负责读取对应Channel中的数据,并且把数据输出到不同的目的地,Sink1负责把数据写到HDFS中,Sink2负责把数据写到一个Java消息服务数据队列中,Sink3负责把数据写给另一个Agent。的Agent,将Source组件命名为。
2023-02-02 14:37:26
1367
1
原创 【Hadoop】YARN多资源队列配置及使用实践
由于MapReduce默认采用Capacity Scheduler(详见),因此理论上可以存在多个队列,而默认只有一个队列(default),现有需求:额外创建两个队列分别为online和offline,将这三个队列的资源分别分配为70%、10%、20%,且允许在资源不足时借用其他队列的资源,但最多不能超过70%(online队列里面运行实时任务,offline队列里面运行离线任务,MapReduce属于离线任务),最后将WordCount任务提交到offline队列执行。
2023-01-31 23:49:42
2164
1
原创 【Hadoop】YARN简述
YARN是Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
2023-01-30 12:37:38
725
原创 【Hadoop】MapReduce数据倾斜问题解决方案
默认情况下Map任务的数量与InputSplit数量保持一致,Map阶段的执行效率也与InputSplit数量相关,当遇到大量的小文件时我们采用SequenceFile合并成一个大文件,以此来提高运行效率(默认情况下只有一个Reduce任务,那么解决了map阶段的小文件问题后,Reduce阶段的运行效率就是MapReduce运行效率的短板,我们当然可以通过增加Reduce任务的数量来提高数据处理的并行度,以此提高效率,但这种处理是“治标不治本”的。
2023-01-29 16:43:24
674
原创 【Hadoop】MapReduce小文件问题解决方案(SequenceFile,MapFile)
Hadoop的HDFS和MapReduce都是针对大数据文件来设计的,在小文件的处理上不但效率低下,而且十分消耗内存资源。在这篇博客中有提到HDFS的小文件问题,集群启动时DataNode会向NameNode上报所有的Block块信息,每个块(无论大小)对象约占150byte,而NameNode的内存是有限的,那么有可能集群内部其实并没有存储多少数据,但是NameNode已经存满了,针对这个问题采用Federation机制可以缓解。
2023-01-27 14:54:45
951
原创 【Hadoop】MapReduce分布式计算实践(统计文本单词数量)
在博客【Hadoop】MapReduce原理剖析(Map,Shuffle,Reduce三阶段)中已经分析了MapReduce的运行过程,以及部分原理。那么这篇博客则是进行一次实践,使用MapReduce统计文本中的单词数量。实际上我们只需要写Mapper和Reducer部分的代码即可,最后在Main中进行一些设置即可。
2023-01-26 18:29:37
1651
企业员工管理系统源码!
2022-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人