自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kerin的博客

All efforts would be paid off.

  • 博客(104)
  • 收藏
  • 关注

原创 书生浦语笔记与作业汇总

第四节:笔记:https://blog.csdn.net/mds637/article/details/136139087?

2024-02-18 19:04:28 541

原创 第六节作业:大模型评测

确保按照上述步骤正确安装 OpenCompass 并准备好数据集后,可以通过以下命令评测 InternLM-Chat-7B 模型在 C-Eval 数据集上的性能。在 --debug 模式下,任务将按顺序执行,并实时打印输出。参考文档:https://github.com/InternLM/tutorial/blob/main/opencompass/opencompass_tutorial.md。使用 OpenCompass 评测 InternLM2-Chat-7B 模型在 C-Eval 数据集上的性能。

2024-02-18 13:53:25 518

原创 第六节笔记:OpenCompass 大模型评测

视频链接:https://www.bilibili.com/video/BV1Gg4y1U7uc/?

2024-02-18 12:08:28 325

原创 第五次作业:LMDeploy 的量化和部署

在上一节的基础上,我们不执行后面的 api_client 或 triton_client,而是执行 gradio.由于 Gradio 需要本地访问展示界面,因此也需要通过 ssh 将数据转发到本地。这里一共提供了 4 个 HTTP 的接口,任何语言都可以对其进行调用,我们以 v1/chat/completions 接口为例,简单试一下。当然,刚刚我们启动的是 API Server,自然也有相应的接口。简单来说,就是把一个大的张量(参数)分到多张卡上,分别计算各部分的结果,然后再同步汇总。

2024-02-18 11:08:12 1059

原创 第五节笔记:LMDeploy 大模型量化部署实践

大语言模型推理是典型的访问密集型,因为是decoder only的架构,需要token by token的生成,因此需要频繁读取之前生成过的token。参数用FP16半精度也就是2字节,7B的模型就大约占14G。这个量化只是在存储时做的, 在推理时还要反量化回FP16.w4a16意思是参数4bit量化,激活时是16bit。不用等一个batch的请求全部执行完才退出。量化降低显存需求量,提高推理速度。3.动手实践-安装、部署、量化。2.LMDeploy简介。

2024-02-17 22:45:23 756

原创 第四次作业:XTuner InternLM-Chat 个人小助手认知微调实践

【代码】第四次作业:XTuner InternLM-Chat 个人小助手认知微调实践。

2024-02-17 21:11:17 334

原创 第四节笔记:XTuner 大模型单卡低成本微调实战

视频链接:https://www.bilibili.com/video/BV1yK4y1B75J/?这三种角色的划分只有在微调训练阶段有,在预测阶段其实只有用户一个角色,系统角色是模版默认写好的(也可以修改)指令跟随微调是一问一答的数据,输入是一问一答,只对答案进行损失计算,而增量预训练微调的训练数据只需要答案。1.Finetune简介。三、8GB显存玩转LLM。

2024-02-17 16:25:10 362

原创 第三节作业:基于 InternLM 和 LangChain 搭建你的知识库

我们可以调用一个 LangChain 提供的 RetrievalQA 对象,通过初始化时填入已构建的数据库和自定义 LLM 作为参数,来简便地完成检索增强问答的全流程,LangChain 会自动完成基于用户提问进行检索、获取相关文档、拼接为合适的 Prompt 并交给 LLM 问答的全部流程。_call 函数是 LLM 类的核心函数,LangChain 会调用该函数来调用 LLM,在该函数中,我们调用已实例化模型的 chat 方法,从而实现对模型的调用并返回调用结果。(2)在本地构建持久化的向量数据库。

2024-02-17 12:44:17 464

原创 第三节:基于 InternLM 和 LangChain 搭建你的知识库(课程笔记)

视频链接:https://www.bilibili.com/video/BV1sT4y1p71V/?RAG 检索增强生成:通过模型外挂知识库来提高大模型知识储备,局限是单次回答有限总结性。1.仅仅包含训练时间点之前的数据,无法回答更新的知识,且训练成本很高。3.非定制模型解决客户需求能力受限。2.回答问题只有广度没有深度。web demo部署。

2024-02-17 10:29:35 379

原创 第二节:轻松玩转书生·浦语大模型趣味Demo

参考教程:https://github.com/InternLM/tutorial/blob/main/helloworld/hello_world.md。

2024-02-13 19:46:42 594

原创 书生·浦语大模型全链路开源体系

参考:https://www.bilibili.com/video/BV1Rc411b7ns/?人工智能的发展从针对特定任务,用一个模型解决一个问题过渡到一个模型来应对多模态、多任务,大模型成为发展通用人工智能的重要途径。业务场景复杂,需要微调(全参or LoRA)性能优异,InternLM-20B即能达到Llama2-70B水平。与环境交互包括调用外部api、访问数据库等。

2024-02-09 17:52:44 273

原创 202203-3 计算资源调度器(50分代码)

csp

2022-06-09 21:48:56 396 3

原创 160. 匹配统计

题目链接cnt[i]表示与模式串匹配长度至少为i的文本串的后缀数目那么恰好匹配长度为x的数目就是cnt[i]-cnt[i+1],有点后缀和思想参考题解#include <bits/stdc++.h>using namespace std;void getnext(vector<int>&next, string pattern){ next[0]=-1; int j=-1; for(int i=1;i<pattern.size();i

2022-05-29 21:34:42 218

原创 1167 Cartesian Tree

题目链接本来以为这道题需要先构建堆,于是专门先复习了堆,后来发现这道题不必也没法构建,因为堆必须是完全二叉树qwq思路也很简单,可以根据小顶堆的特点找到中序遍历数组中的根,进而对左右子树分别递归处理,访问根节点时将值放到对应层的结果中,最后遍历输出每一层的结果即可。#include<bits/stdc++.h>using namespace std;vector<vector<int> > leveltr(31);//最多30层void dfs(vector&

2022-05-26 16:36:47 276 2

原创 1165 Block Reversing

题目链接刚复习完链表,正好做了道链表反转的题目,一遍过,开心~~#include <bits/stdc++.h>using namespace std;int main(){ string head; int N,K; cin >> head >> N >> K; map<string,pair<int,string>> list; for(int i=0;i<N;i++){

2022-05-25 20:08:35 143

原创 1164 Good in C

题目链接再次回顾了getline(cin,tmp)的用法,注意getline前面如果有cin或者scanf,要记得用getchar()来吸收换行。测试点1可能形如!!HELLO,即最开始未必就是单词,因此需要先将i和j调整到第一个字母的位置。#include<bits/stdc++.h>using namespace std;int main(){ map<char,vector<string> > mp; for(int i=0;i<26

2022-05-25 19:41:02 100

原创 1146 Topological Order

题目链接#include<bits/stdc++.h>using namespace std;int main(){ int N,M; cin >> N >> M; vector<int> ver(N+1,0);//1-N 统计每个顶点的入度 vector<vector<int> > edge(N+1); for(int i=0;i<M;i++){ int v,w;

2022-05-18 20:38:54 125

原创 1110 Complete Binary Tree(测试点234 注意结点编号可以是2位数)

题目链接借助队列来判断是否为完全二叉树,从根节点开始将左右孩子入队,当遇到第一个空结点时终止循环,判断队列剩余部分是否还有数字,如果有则不是完全二叉树,如果没有则就是完全二叉树。这道题有点坑的地方是编号小于等于20,即有两位数,所以子结点读取的时候要用string类型才能和“-”统一读取,如果把结点当作个位数测试点234会过不了。#include<bits/stdc++.h>using namespace std;int main(){ int N; cin >&

2022-05-14 21:25:06 315

原创 PAT 1104-1105

题目链接测试点3需要用long double才能过…long double用%Lf来格式控制double 用%lf来格式控制#include<bits/stdc++.h>using namespace std;int main(){ int N; cin >>N; vector<long double> nums; for(int i=0;i<N;i++){ long double tmp;

2022-05-12 23:19:36 100

原创 csp202203-2出行计划(差分)

题目链接出发-有效期+1<=做完+等待<=出发很容易看出来这道题是看每次查询的做完核酸时间+等待时间在多少个区间之内,很容易看出来应该用差分数组做,但是区间左边有可能是负数,所以将不等式整个右移2e5就好了,做题积累的经验太少,不知道数组能开这么大,事实上经过实验,这道题数组开到4e7还没问题,但是开4e8就挂了,当个经验记住吧~~#include <iostream>#include<bits/stdc++.h>using namespace std;int

2022-05-09 18:37:38 389

原创 AcWing 25. 剪绳子(dp)

题目链接class Solution {public: int maxProductAfterCutting(int length) { int ans=-1; //感觉有点dp的味道 //每个位置断的话,最大就是左右两边的最大值乘积 int dp[60];//dp[i]表示长度为i的绳子裁剪得到的最大乘积 dp[0]=0; dp[1]=1; dp[2]=2; for

2022-05-03 19:32:29 316

原创 剑指 Offer II 094. 最少回文分割 (dp)

题目链接class Solution {public: int minCut(string s) { //先预处理出s的每个子串是否为回文字符串 int n=s.size(); vector<vector<bool> > f(n,vector<bool>(n,true)); for(int i=n-1;i>=0;i--){ for(int j=i+1;j<n;

2022-05-02 08:24:39 179

原创 ACwing 23. 矩阵中的路径 (dfs)

题目链接class Solution {public: int dx[4]={0,0,-1,1}; int dy[4]={-1,1,0,0}; bool ans=false; void dfs(vector<vector<char>>& matrix,int x,int y,vector<vector<bool>>& vis,int cur,string str){ if(

2022-04-30 23:42:52 341

原创 c++读入一行

813:00:00 - 18:00:0000:00:00 - 01:00:0508:00:00 - 09:00:0007:10:59 - 08:00:0001:00:05 - 04:30:0006:30:00 - 07:10:5805:30:00 - 06:30:0018:00:00 - 19:00:00基本题意就是输出没有包含的时间段,因为题目保证了给定的两个时间段之间最多只有一个交点,也就是没有区间重合的情形,所以思路就很简单,直接按照字符串的格式读进来排序遍历一遍就好。C++读取

2022-04-23 17:58:59 5673

原创 virtual studio 2019 连接数据库的问题记录

之前一直试图在这里添加数据库连接一直失败,直到昨晚出现下面报错,结合打开Microsoft SQL server Management studio 出现下述报错,才想到是不是VS一直连接和修改的是本地数据库,所以出现了在VS数据连接那里添加的mdf文件一直没有被修改,但是运行时获取到的数据却是最新的问题。本地数据库建立连接出现问题是服务没有打开,(之前忘了因为啥把服务全都关了,看似给自己挖了一个大坑实际上正是这个坑才让自己因为看到报错“无法连接到数据库”而发现之前“看似不同步”的问题),打开下面.

2022-04-23 08:34:36 3119

原创 完全背包问题

题目链接#include<bits/stdc++.h>using namespace std;int w[1005];//重量int v[1005];//价值int dp[1005][1005];//dp[i][w]将前i个物品装入容量为w的背包的最大价值int main(){ int N,W; cin >> N >> W; for(int i=1;i<=N;i++){ cin >> w[i] >

2022-04-17 11:43:58 270

原创 01背包问题

题目链接还是不太理解如何区分恰好装满背包还是只是尽可能保证价值最大,这道ACwing上的题目用算法笔记上的代码过不了,容量循环的时候必须从0开始。没想明白算法笔记定义dp[i] [v] 的时候说用前i个物品恰好装满容量为v的背包恰好的含义,感觉状态转移过程中某些dp[i][v]并没有恰好装满,背包容量也是有空缺的。暂时mark一下,回头再思考。ac代码:#include <bits/stdc++.h>using namespace std;int main(){ int N

2022-04-17 10:13:51 312

原创 关于java的疑问记录

做俄罗斯套娃的时候,先按照w升序排列,再按照h降序排列,理论上按照h求LIS就可以了,但是遇到的问题是把envelops重新定义为Integer类型,dp时单纯比较h维度不行,还必须加上w维度的比较才能对一个测试样例得到正确的答案,而如果直接用int类型的envelops,dp只比较h就能得到正确的答案,不知道原因出在哪qvq不行的代码:class Solution { class cmp implements Comparator<Integer[]>{ publi

2022-04-15 09:05:36 300

原创 NC149 kmp算法

今天学习了一下KMP算法,并没有想象中难,上午看的算法,晚上依旧能根据理解写出来代码,所以还是需要多动手~~题目链接import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 计算模板串S在文本串T中出现了多少次 * @param S string字符串 模板串 * @param T string字符串 文本串

2022-04-11 19:35:04 336

原创 蓝桥杯 试题 算法提高 怪物森林(二分答案)

题目链接使用二分答案法,check的时候使用bfs,但是后30分的测试点java会超内存,c++会超时,暂时还没想到满分方法qwqimport java.util.*;//广度优先搜索可行是因为进入队列的每一层点都是从上一层转移过来的//也就是一定是满足条件且能到达的//让他直接求路中最小值的最大值不太行//但是让他判断是可以的,因为层之间不需要关心是这一层的谁能把下一层的某个点加进来//但是下一层的某个点一定是能到的//BFS的好处就是每个结点都只会入队一次,节省空间和时间//不过我

2022-04-08 16:05:40 1190

原创 蓝桥杯 试题 算法提高 砝码称重(dp)

题目链接独立思考出来的dp,很开心,不过,也说明,这个dp很简单。dp[i]代表表示质量i需要的最小砝码数量,如果有质量为i的砝码,显然dp[i]等于1,否则先设为0x3f3f3f3f, 然后更新状态。dp[i]可以由所有能相加出质量i的组合转移过来,dp[i]就是从这些组合中选择砝码数量最少的。import java.util.*;public class Main{ public static void main(String[] Args) { Scanner sc=new Scan

2022-04-08 10:57:19 349

原创 蓝桥杯 试题 算法训练 24点(dfs)

题目链接按照题目意思是4个数字可以任意排列,数字之间的运算符可以任意,括号可以任意添加,换句话说就是这些数据可以两两按照4种运算自由组合,当两个数字运算组合成为一个中间结果后,此结果又能和未组合的数据进行任意组合,直到只剩一个数字,递归找到所有组合方案,保存最接近24的答案即可。需要注意的是组合的中间结果可能出现0,因此做除法时需要加上除数不为0的条件。import java.util.*;public class Main{ public static int[] nums=new int[4]

2022-04-07 23:58:02 1095 2

原创 1815:画家问题 (dfs java)

题目链接和熄灯问题很像。如果暴力搜索的话,棋盘大小15*15,每个位置的状态有两个变或者不变,那么将有215∗152^{15*15}215∗15个状态,显然不能直接搜。事实上,我们可以枚举第一行的状态,因为第一行的状态一旦确定,剩余行也随之确定,这是因为对于与第一行的w,只能是第二行的这个位置修改才能使得第一行的‘w’变为’y’,其他行的修改不会影响到第一行,同理,第二行确定后,只能由第三行改变第二行为‘w’的位置。最后只需要检查最后一行是否都为‘y’即可。所以枚举第一行的状态就只有2162^{16

2022-04-06 09:46:01 573

原创 2021蓝桥杯 直线(枚举,set去重)

两个点(x1,y1)(x2,y2)确定的直线方程可以化为(y1-y2)x-(x1-x2)y+y1(x1-x2)-(y1-y2)x1=0即Ax+By+C=0的规范式这样的好处在于不用除法,避免了浮点数精度的问题。枚举范围内的所有点,保证y1>y2(或者保证y1<y2),去掉x1=x2或者y1=y2的情况(最后直接在结果中加上)。import java.util.*;public class Main{ public static int gcd2(int a,int b) {.

2022-04-05 19:39:23 584

原创 1789:算24 (Java DFS 5分原因看过来)

题目链接可能做法比较麻烦,就当深搜的练习吧。分两步,第一步枚举所有的可能的运算式,第二步计算每个运算式所有可能的结果,此结果就是任意位置加括号的所有可能结果,与这个力扣题目相似。注意题目说的是这4个数字任意组合,一开始还固定了顺序,只在数字间枚举算符。如果提交之后得了5分,原因应该是double数据的比较存在误差,只要计算结果与24的差值小于0.0001就认为表达式可以得到24.还有要注意的是每个测试样例用的公用数据结构如vis,exps,mp一定要清空或重新初始化。import java.u

2022-04-04 16:43:46 1541

原创 6044:鸣人和佐助 (Java BFS)

题目链接带限制的最短路径可以用BFS,击败大蛇丸的手下相当于直接破坏迷宫的障碍行走。在不能破坏障碍的时候,我们使用vis数组来标记一个位置是否访问过,当允许破坏障碍T次时,每个位置事实上有T中情况,需要标记每种情况是否访问过。@ # x # +x # x # #x # x # #x x x # #假设T=1,那么正确的路线的长度显然是10,在搜索过程中,我们可以选择破坏(1,2)的墙,到达(1,3),但是此时无法再破墙;沿着正确的路径走,会再次经过(1,3),但是此时的状态是与之前不

2022-04-03 23:58:47 519

原创 1805:碎纸机 (java实现 DFS 回溯)

题目链接dfs,转化为处理子问题如123456,1和子问题“23456”,12和子问题“3456”等注意遇到重复的切割方式不能简单的修改ans=-2,因为当再次遇到相同方式,会覆盖掉-2.import java.util.*;public class Main { public static int ans=-1;//如果此值未修改,则输出error public static boolean flag=false;//标记是否出现了重复的切割方案 public static Link

2022-04-02 20:37:29 687

原创 9273:PKU2506Tiling (java6分原因看过来)dp、大整数加法

题目链接很容易想到状态转移方程dp[i]=dp[i-1]+2*dp[i-2],但是答案会很大,所以需要手动实现大整数加法,原理很简单。不过不知道为什么java只能得6分,初步怀疑是while(sc.hasNextInt())无法终止循环? 先mark一下别的答主说换成while(sc.hasNext()),但是好像也不行import java.util.*;class bign{ public int[] num=new int[1000]; public int len; publi

2022-04-02 11:42:54 547

原创 15:Counterfeit Dollar (枚举)

题目链接如果用了nextInt()或者nextDouble()等等读取了数字然后后面要读字符串的话需要先用一个nextLine()吸收掉数字后面的Enter!切记java比较两个字符串是否相等要用equals方法!Debug了好久…import java.util.*;public class Main { public static void main(String[] Args) { Scanner sc=new Scanner(System.in); //既然一共12个砝码

2022-04-01 22:50:03 702

原创 7623:五户共井问题 (枚举)

题目链接枚举井的深度和A家绳子长度,根据条件计算其他家的长度,注意题目条件中说了5家绳子长度各不相同,忽略这一点只能拿(9/10)。import java.util.*;public class Main { public static void main(String[] Args) { int k; int[] n=new int[6]; Scanner sc = new Scanner(System.in); k=sc.nextInt(); for(int i=1;i&

2022-04-01 19:59:26 865

空空如也

空空如也

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

TA关注的人

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