- 博客(20)
- 收藏
- 关注
原创 李哥深度学习六--Bert实战
此函数的作用是将指定路径的文件转换成程序所能处理的数据向量,data用于存储读取的数据(特征),label则存储对应的标签(目标值)data = []label = []if i == 0:continueif i > 200 and i< 7500: # 仅读那么多行continueline = line.split(",", 1) #把这句话,按照,分割, 1表示分割次数print("读了%d的数据"%len(data))
2025-03-12 14:59:42
1042
1
原创 李哥深度学习五:NLP与Bert
A.与图片一样的思路,考虑独热编码(One-hot Encoding),但值得注意的是,此法 一.会带来大量的参数,从而导致空间开销大 二.对于文本来说,顺序也具有具体意义,而独热编码则无法体现这种关系。微调时,只需在预训练模型的基础上添加一个特定的输出层(如分类头),即可在任务数据上进行训练。我们知道,在深度学习中,常见的输入数据类型有图片、文字、序列。我们知道,文本实际上是一种序列,词与词对应不同的前后关系往往有不同的语义。同时,对于自注意力机制,为增强模型的表达能力,我们通常采用。
2025-02-23 16:32:39
954
6
原创 李哥深度学习四——分类任务
我们给出一个卷积尺寸的计算公式:O = (I - K+2P) / S + 1,(O为输出特征图的尺寸,I为输入特征图的尺寸,K则是卷积核的大小,S为步长,P则为padding补零的次数)。值得注意的是,对于分类任务的输出,也就是是或不是某类的问题,我们采取独热编码(one-hot)的形式将y由一离散值转化为连续的概率分布,而对于模型的输出我们使用softmax函数转换为概率分布,进而实现统一的数据处理。值得注意的是,这里我并没有调用自己的模型,而是选择使用了迁移学习,调用了大佬的模型。
2025-02-22 20:30:38
1310
原创 李哥深度学习三:回归项目实战
PCA(Principal Component Analysis,主成分分析)是一种常用的降维技术,它通过将高维数据投影到低维空间,保留数据的主要特征,同时减少数据的维度。由项目给出的covid.train.csv,covid.test.csv以及任务要求可知,我们的目标是根据前两天的地区感染情况进而推测出第三天的地区感染情况并以合适的格式输出(.csv文件大概可以理解为是一个table表格)值得注意的是,第一版我的代码(此博客中不显示)中损失函数我用的是相关库中自带的loss函数。
2025-02-18 11:24:50
917
原创 李哥深度学习二:线性表示代码理解
4. 定义一个data_provider函数来提供一批数据。此处损失度越小的话,对应的模型训练效果就比较好。3. 给定待预测值,并初步检查函数功能。如标题,任务就是对于。由此图可知,拟合效果良好 ,结束实验。这样的线性方程组拟合的代码实现。由上图可知,模型训练效果较好。2. 生成数据(用函数实现)1. 导入任务需要的库。
2025-02-16 11:49:53
240
原创 51nod 2652 阶乘0的数量V2
我们可以O(logn)求出它尾部0的个数(get函数,具体看代码),由于。考虑到我们的get函数随着n的增大,返回值也单调递增,所以我们可以二分n,总复杂度 O(logn*logn)
2023-05-10 11:51:59
243
原创 51nod 1352 集合计数
两次二分,分别得出t的左右边界,若如果在该区间内没有满足约束的解,答案则为0,否则答案即为区间长度。考察这个石子,单调递增,所以我们可以二分t,check函数自然就是检查约束条件是否满足。先特判一下gcd(a,b)与n+1的关系,若无解则答案为0,接下来考虑有解情况。不过还好的是最后发现问题症结:乘法爆long long 了…可能就我一个傻逼会坚持二分一直wa一个点还一直写下去吧…先exgcd得到特解k1’, 对于k1的通解我们则有。,问题就转化为了在该约束下可行解的个数。这个不定方程,有约束条件。
2023-05-09 23:34:16
108
2
原创 数论题No.1
等,所以在统计求和答案时我们最多只需要枚举到mod即可,对于同余的数,我们将其周期统计一遍,统计答案时乘上即可。思路:性质题.一眼快速幂,然后被卡在了怎么枚举n上…,利用同余性质,我们可以发现。观察题目,我们发现模数是。
2023-05-04 00:34:19
103
原创 Codeforces Round 867 (Div. 3) - G2. Magic Triples (Hard Version)
统计答案时要先判断 i 是否 x 的因子,不然会TLE, 个人理解是 x mod i 为0先保证了i是x的因子,可以先把不是因子的舍去,但是如果在后面写x%i==0由于map好像本身查找也有一点时间复杂度,然后就会爆。思路:与G1唯一不同的是值域上界ulim变成了1e9,若我们还是按照原先做法。,TLE,向大佬学习了一下,学到了值域分治!的数,我们考虑到上界是1e9,可以直接去顺序枚举因子i,由于。,最大有1e3,接下来枚举x的因子,即按照G1思路。的数,我们考虑直接暴力分解,复杂度是。
2023-04-26 22:19:10
192
原创 Codeforces Round 867 (Div. 3) - G1. Magic Triples (Easy Version)
的复杂度内求出一个数的全部因子,然后遍历这些因子,若当前因子it*x>mxm则已经无解,选择遍历x的下个因子it,若存在因子it使得。,足以通过此题,接下来考虑统计答案, 当b=1,也就是三个相同的数时容易得出结果,考虑b不为1,我们可以在。思路:值域上界有mxm = 1e6,我们可以去枚举中间那个数x(桥梁),所以要去判断。是否存在($ b * x$
2023-04-26 16:37:30
151
原创 Codeforces Round 867 (Div. 3) - E. Making Anti-Palindromes
题意:给定一个全是小写字母的字符串,现有操作可以交换字符串中任意2个字母的位置. 问最少经过几次这样的操作,可以使得原字符串成为反回文串,若无解输出-1。
2023-04-25 20:21:22
335
原创 Codeforces Round #713(Div. 3) (全)
一个是0/1的情况,我们先将他们补充完整,并判断无解,后从左往右扫描一遍得到的字符串,对a与b的个数删减,接下来我们要处理的就是成对的问号,在这里我们只扫描左半边,并贪心的思考将max(a,b)对应的字符进行填补,同样删减a,b.然后最后对于字符串原长是奇数的情况,我们还剩一个?接下来我们按照一种类似于“进制”的思想,优先调整后端的数,若后端的数已达到最大,再调整前端的数,依次迭代,这样我们就处理好了区间[l,r]中的数,并对于这些数打上标记,最后对于整个排列,我们再将没有标记过的数依次塞入就行。
2023-04-23 23:43:01
116
原创 Codeforces Round #713(Div. 3) - F. Education
天的情况, 在赚钱和升级2种情况中取天数的最小值,可以先得到在当前i位置下需要多少天才能达到c,然后对于现在的钱要是可以升级,那就升级,若不能升级那就赚钱去升级,最后对于到达满级的情况单独特判一下,取最小值即可。题意:Polycarp 想要买新电脑,新电脑价格为c,他可以通过任职来赚钱,其公司有n个职位,编号从1开始,初始状态时他有0元钱和处于1位置。No2. 花b[i]元钱移动位置到i+1 (升级)No1. 在i位置上获得a[i]元钱 (赚钱)思路:大模拟,我们可以枚举第 i(
2023-04-23 23:22:41
74
原创 Codeforces Round #713(Div. 3) - G. Short Task
思路:预处理+打表,对于每个是i的倍数的数我们都要加上i,所以我们开个sum[ ]记录每个数的。题意:我们先定义d(n) = n的所有因子之和,给定一个数c(),要求寻找最小的n满足d(n) = c。,然后再打个表记录一下第一次出现。
2023-04-23 19:54:27
71
原创 Codeforces Round #713(Div. 3) - E. Permutation by Sum
接下来我们按照一种类似于“进制”的思想,优先调整后端的数,若后端的数已达到最大,再调整前端的数,依次迭代,这样我们就处理好了区间[l,r]中的数,并对于这些数打上标记,最后对于整个排列,我们再将没有标记过的数依次塞入就行。题意:给定整数n,l, r, s,要求你找一个长度为n的排列p使得。中的值,否则无论我们怎么调整区间[l,r]的数都是无解,, 若有多个则输出任意一个,若无解则输出-1。思路:对于所给区间[l,r],我们先特判。,则先将区间[l,r]中的数依次赋为。
2023-04-16 15:28:18
191
原创 Codeforces Round #713(Div. 3) - D.Corrupted Array
若此时无解则继续尝试b的次大值作前缀和,b的最大值舍去(不舍去的话作为成员加入前缀和肯定比次大值大,相互矛盾,所以只能舍去), 在n+1中数中找n个数使其和等于次大值,所以次大值的2倍等于前n+1小的数的和,若不满足则无解。取b中最大值先作前缀和试试,接下来要在其余n+1个数找n个数使得它们的和等于这个前缀和,舍弃的那个数作x即可。)作为前缀和,那么次大值和最大值中只有一个作随机数,另一个必然加入前缀和的成员,又相互矛盾,所以不必继续讨论。思路:因为有个数是其他数的前缀和,所以这个数肯定很大,考虑到。
2023-04-13 23:47:49
65
原创 Codeforces Round #713(Div. 3) - C. A-B Palindrome
思路:首先预处理一下整个字符串s,对于从左开始扫的字符和从右开始扫的字符中一个是?一个是0/1的情况,我们先将他们补充完整,并判断无解,后从左往右扫描一遍得到的字符串,对a与b的个数删减,接下来我们要处理的就是成对的问号,在这里我们只扫描左半边,并贪心的思考将max(a,b)对应的字符进行填补,同样删减a,b.然后最后对于字符串原长是奇数的情况,我们还剩一个?你可以用0/1代替作为一次操作,现要求你经过若干次操作后将原字符串s变成由a个0,b个1组成的回文字符串,若可行,输出结果字符串ans;
2023-04-13 20:41:41
222
1
原创 Educational Codeforces Round 146 (Rated for Div. 2) A - B
对于答案统计中Ceil的解释:对于某个步长i,a or b对于 i 的最小步数只需要比 a/i or (b/i)多走一步就行,因为我们可以边增加步长边走路补偿(可以取到[0,i-1]中的某个数去补偿)如果a、b是整数,那么一定存在x、y,使ax+by=gcd(a,b),换句话说,如果ax+by=k有解,那么k一定是gcd(a,b)的若干倍。一开始对于步长i,我的判断是 i 取特值gcd(a,b)或min(a,b)或者是a和b的因子,全然没想到去枚举…
2023-04-12 19:32:58
161
1
原创 CF739 Div3 - D. Make a Power of Two
总结:给你一个整数n,对于这个数你有2个操作,No1.是删除任意位上的一个数;No2.是向右边插入任意一个数,现在我们要将这个给定的数经过上述操作转变为2的幂次方数,问最少的操作次数?删删补补会爆int,所以想到是个字符串匹配问题。先将所有2的次幂的数处理出来用于匹配目标数。枚举这些数,找到最大的匹配结果。
2023-04-11 21:01:52
101
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人