- 博客(57)
- 收藏
- 关注
原创 Docker初探
Docker和虚拟机不同的是,Docker并不需要运行一个完整的操作系统,而是。1.创建一个Dockerfile,来告诉Docker构建一个应用程序镜像。Dockerfile里面是一条条的指令用来告诉Docker如何构建镜像。Docker是容器的一种,但是容器不是Docker,容器是一种技术。虚拟机:是完整的操作系统,可以在虚拟机中运行完整的应用程序。Docker仓库是用来存储Docker镜像的地方。只要按照这个食谱来做,就可以做出来一模一样的菜,而容器就是按照食谱做出来的这个菜,镜像 和 容器的关系。
2025-04-02 11:08:09
348
原创 DataWhale-三月学习任务-大语言模型初探(一、二、五章学习)
一些传统领域的研究,已经逐渐被大模型取代,而转向为如何提升大模型的领域能力和综合能力。在信息检索领域,出现了较火的RAG和大模型增强的搜索系统,同时大语言模型对科技发展也在产生着非常重要的影响。对此Open-ai提出了RLHF对齐方法,最近学术界开始涌现除了一批使用监督微调的对齐方式,从而简化RLHF的优化过程算法,如DPO算法等。1.规模不断扩展,数据、算力、模型参数量都在逐渐变大,但是近期也有一些工作在尝试使用较小的模型参数来实现相当的能力。从上图可以看出,语言模型逐渐越来越火热。
2025-03-10 15:30:01
909
原创 Ubuntu软件安装总结
这种方式安装一个deb文件,deb文件中的可执行文件会被安装到/usr/bin下,库文件会被安装到/usr/lib下,共享数据文件会被安装到/usr/share下。除此之外,也有特例,比如安装chrome的deb文件,会在/opt/google/chrome下安装相关的文件。apt(advanced package tools)是ubuntu默认的软件包管理器,通过这种方式安装软件包,通常会将其安装在/usr/lib、/usr/share、/usr/bin目录下。
2025-03-08 16:49:05
237
原创 时态知识图谱补全推理任务评价指标
MRR:计算正确事实排名的倒数的平均值,反映模型将正确事实排在靠前位置的能力。Hits@k:计算正确事实排名在前 (k) 位的比例,反映模型在前 (k) 位返回正确答案的能力。两者都依赖于过滤设置,以确保评估的公平性和合理性。
2025-03-02 12:53:01
536
1
原创 时态知识图谱补全任务为什么要进行损坏四元组过滤?
避免模型因预测正确事实而受到不公平的惩罚。确保评估的重点是模型预测新事实的能力。使评估过程更贴近实际任务需求。避免评估结果受到已有事实的干扰。通过过滤,评估结果更能反映模型的泛化能力和实际应用价值。
2025-03-02 12:47:42
413
原创 时态知识图谱中的补全过滤策略(过滤损坏四元组)
为了避免模型因为预测了已经存在的正确事实而受到不公平的惩罚,Bordes 等人(2013)提出了。逻辑与普通知识图谱相同:任何已经存在于 TKG (G) 中的损坏四元组 ((s, r, o’, t)) 都会被过滤掉,然后再进行排序。在过滤设置下,已经存在的四元组 ((s_1, r_1, o_1, t_1)) 会被移除。剩下的候选四元组 ((s_1, r_1, o_2, t_1)) 和 ((s_1, r_1, o_3, t_1)) 会被用来排序和评估。对于查询 ((s_1, r_1,?
2025-03-02 12:45:43
248
原创 Graph Convolutional Networks(GCN)图卷积网络
许多问题本质上都是图表,在我们的世界里,我们看到很多数据都是图,比如分子、社交网络和论文引用网络。
2025-03-01 14:49:00
648
原创 Pytorch加载数据的Dateset类和DataLoader类
Pytorch提供了Dataset类和DataLoader类专门用于处理数据,他们既可以加载Pytorch预置的数据集,也可以加载自定义数据集。其中数据集类Dataset负责存储样本以及他们对应的标签;数据加载类DataLoader负责迭代访问数据集中的样本。
2025-02-26 10:24:34
525
原创 RAG实现大致流程
如上图所示,假如我们要参加临时考试,那我们有三种途径获取答案,1、直接查询数据 2、利用检索系统查询 3、LLM知识检索增强生成。第一种方法直接查询数据,这也是最笨拙的方法,第二种方法则是利用检索系统查询,我们需要构建很多 query-answer对,来方便我们快速检索答案,第三种则是RAG,结合大模型来快速生成答案。
2025-02-21 16:33:09
265
原创 RAG基本原理
如上图所示,原本我们输入Prompt给大模型,然后大模型返回输出的response给我们,但是大模型中如果没有相关知识,或者相关知识存在歧义,那我们就很容易得到错误的回答。但是我们增加了检索增强的内容给大模型,大模型自身的逻辑推理能力,会输出source输入相关内容,有利于提高答案的准确性,提高生成内容的质量。这样的回答存在两个问题,1.无法追溯知识来源 2.可能会存在信息过时的问题(随着科学技术的进步,可能很多没有被发现的卫星被人类发现,或者说 另一个行星的卫星数目更多,这样以往的回答就失去了正确性)
2025-02-21 16:11:35
338
原创 时态知识图谱创新
多粒度时间融合:支持不同时间粒度的混合建模(如“2020年”与“2020年5月1日09:00”共存),实现跨尺度的推理。生命周期预测:预测知识的有效期(如公司CEO任期、技术专利时效),结合生存分析模型(如Cox比例风险模型)。事件链预测:预测复杂事件的发展链条(如“疫情爆发→封锁→经济衰退”),利用时序图网络(TGN)或强化学习。时间逻辑约束:定义时间规则(如“毕业必须在入学之后”),结合时序逻辑(如LTL)进行约束推理。时间注意力机制:在GNN中引入时间权重(如关注近期事件),提升时序推理精度。
2025-02-05 17:12:10
339
原创 Git、Github和Gitee完整讲解:丛基础到进阶功能
1.版本控制 : 每次提交都像写了一篇新的日记,保存你的开发成果。2.分支管理:分支就像章节,可以并行开发而互不干扰。3.分布式 :每个人都拥有完整的“日记本”1.配置个人信息2.生成SSH秘钥3.添加公钥到远程仓库进入Settings -> SSH and GPG Keys -> New SSH Key,粘贴公钥并保存。进入 设置->安全设置->SSH 公钥,粘贴公钥并保存4.测试连接测试Github:测试Gitee:5.配置多个 SSH 密钥(可选)如果同时使⽤ GitHub 和 Git
2025-02-05 15:40:16
1622
原创 【知识图谱】CyGNet论文笔记
标题:Learning from History: Modeling Temporal Knowledge Graphs with Sequential Copy-Generation Networks[1]时间:2021会议:Proceedings of the AAAI Conference on Artificial Intelligence (AAAI , CCF-A)机构:国防科技大学、南加州大学、法国高等信息工程师学院关键词:时序知识图谱,实体预测,复制机制。
2025-01-09 17:19:34
234
1
原创 self-Attention自注意力机制详解
这三个矩阵与输入的向量进行相乘,就可以得到对应的q1,k1,v1,后面的以此类推。注意力分数的计算就是q和k相乘,得到注意力分数,得到注意分数之后,再和相应的v1,v2,v3,v4计算出b1,b2, b3,b3也就是输出。看到这张图,我们就已经明了了整个self-Attention的计算过程了,他其实就是存在三个矩阵Q,K,V。self-attention是输入一组向量然后再输出一组向量。
2025-01-03 11:10:55
245
原创 2.建立本地仓库及常用命令
要使用Git对我们的代码进行版本控制,首先需要获得本地仓库1)在电脑的任意位置创建一个空目录,作为我们的本地Git仓库2)进入这个目录,右键点击Git Bash 窗口3)执行命令git init4) 如果创建成功后,可在文件夹下看到隐藏的.git目录(ll命令可以查看隐藏文件)
2024-12-03 17:11:06
429
原创 0.Git初步概念
分布式版本控制系统,Git就是一个开源的分布式版本控制工具,每个用户本地都有一个完整的版本库,多人协作的时候只需要推送到远程仓库进行代码共享即可。用户将代码集中存储到中央服务器,在协同网络中使用,从中央服务器上copy代码下来,写的代码也需要提交到中央服务器。例如:SVN和CVS。场景四:追溯问题代码的开发人和开发时间。场景二:代码还原(回滚)a、集中式版本控制工具。b、分布式版本控制工具。
2024-12-03 14:50:37
291
原创 nn.RNN解析
以下是RNN的计算公式,t时刻的隐藏状态H(t)等于前一时刻隐藏状态H(t-1)乘以参数矩阵,再加t时刻的输入x(t)乘以参数矩阵,最后再通过激活函数,等到t时刻隐藏状态。下图是输出input和初始化的隐藏状态,当参数batch_first = True时候,输入是(batch_size,Sequence_length,input_size),参数batch_first = False的时候,输入是(Sequence_length,batch_size,input_size)h_0就是初始时刻的隐藏
2024-12-01 15:38:07
494
原创 python中try...except...else...finally
try:是要执行的语句,如果语句引发异常,则转向相应的except语句,如果未报错,则执行else语句中的内容,无论是否报错,最后都会执行finally语句。
2024-11-28 20:32:09
169
原创 F.nll_loss()和F.CrossEntropy()的区别和相同处
两种loss计算方法区别不是很大,但是在实际使用中有一些具体的区别,其实F.CrossEntropy()和F.nul_loss()的区别就是在输入上,F.CrossEntropy相当于先对input进行一个softmax计算,再进行一个取对数操作,最后再进行 F.nul_loss()。下面的代码可以说明,当对input进行softmax和log操作之后,再进行F.nul_loss()操作可以等效于F.CrossEntropy()操作。
2024-11-12 17:15:43
332
原创 [杂记] argparse模块的作用及用法
如下图,在python中我们执行py文件命令,可以使用 python xx.py 当我们携带其他参数时,可以使用sys.argv打印传入的参数,本身xx.py文件名也是传入的参数。其实,本身我们也可以使用图中的方式去解析传入的数据,但是当传入参数变得复杂,或者说便于管理的话,这种方式可能就不太方便了,因此也就需要使用到我们这里介绍的。argparse可设置可选参数、不可选参数,主要是处理和管理传入的参数,其实本质上argparse也是用sys.argv进行处理。
2024-11-12 10:28:24
261
原创 路径中 “./“ , “../“ ,“/“代表的含义
4、根目录表示法,任何页面访问Image下的Image.jpg图片(绝对路径)注:本文主要参考上面这篇博客,之前一直没系统了解过,故在这里整理一下。(2) 在上层目录下的一个image文件夹下。3、文件在下一层目录(Image1文件夹)(3) 在上上层目录下。(1) 在上层目录下。
2024-11-08 21:27:18
639
原创 【深度学习】查看/检查模型的方式
因此summary可以通过这种方式打印检查模型,查看每一层模型的输出,以及查看参数量、内存大小等信息。问题:即使模型存在错误,也可以直接打印,而不会报错,因为不能通过这种方式检查模型结构。
2024-10-23 11:42:53
253
原创 Batchnormalizaion批量归一化【深度学习】
批量归一化可以固定住小批量的均值和方差,然后学习出适合的偏移和方差可以加速收敛速度,但对精度的影响很小。
2024-10-21 10:48:57
174
原创 2021李宏毅作业hw1—新冠阳性人员病例数量预测。
问题:通过给定的前面的特征信息,来预测阳性数量(tested_positive)。是一个典型的回归问题,在HW1中我们主要是初探全连接神经网络,看看不同的神经网络在模型测试集中的性能表现。在深度学习中,我们主要关注的是模型的泛化误差,当然训练误差也是我们应该关注的,如果说训练误差非常大,在测试集上的表现一般也很差,这个问题可以参考李宏毅老师前面讲述的深度学习的性能表现问题分析,评估不同情况下的问题原因。
2024-10-11 16:05:03
773
原创 Conda安装软件报错:Solving environment: failed with initial frozen solve.
卸载原有anaconda换用miniconda的时候遇到了这个错误头疼了一两个小时,心态差点搞裂开1.最后发现是清华源的问题,原有的源卸载可能不干净也可能导致2.解决方法 建议conda config --show查看自己的镜像源是否问题3.如果有多个源的话,建议全部删除然后再进行换源试试,多半问题就解决了换源参考博客:https://blog.youkuaiyun.com/ECHOSON/article/details/104774215,总结的很好,建议不要去换一些年代比较久远的源,容易搞心态。...
2021-11-06 17:32:07
1985
原创 算法笔记入门(算法模拟进制转换)——问题 B: 数制转换
题目描述求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。不同进制的表示符号为(0,1,…,9,a,b,…,f)或者(0,1,…,9,A,B,…,F)。输入输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2 =< a,b <= 16。输出可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示,即(0,1,…,
2021-09-20 22:52:37
201
原创 算法笔记入门(算法模拟进制转换)——问题 A: 又一版 A+B
题目描述输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。输入输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。当m为0时输入结束。输出输出格式:每个测试用例的输出占一行,输出A+B的m进制数。样例输入2 4 58 123 4560样例输出10011103提示注意输入的两个数相加后的结果可能会超过int和long的范围。思路分析:两数之后可能会超过int和long的范围,
2021-09-20 22:38:48
192
原创 算法笔记入门(进制转换专题篇)—— 笔记总结
进制转换其实主要是两个问题,十进制数转换为Q进制数,Q进制数转换为十进制数,当然也有P进制数转换为Q进制数。1.将P进制数转换为十进制数y在这里插入代码片思路很简单,看代码很容易就明白了int y=0,product=1;while(x!=0){ y = y + (x%10)*product; x = x/10; product = product*P;}2.将十进制数转换为Q进制数这里采用的是”除基取余法“。所谓的基,是值要转换的进制Q,因此除基取余法的意思就是每次将十进制数除以.
2021-09-20 22:24:17
188
原创 机器学习入门算法——KNN k—最邻近算法
【机器学习】算法入门——KNN k—最邻近算法摘要:KNN分类算法,是理论上比较成熟的方法,也是最简单的机器学习算法之一。该算法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。简单的描述该算法的思想其实就是某个样本在特征空间中与其距离最近的k个样本中同一类样本最多的样本类同属于同一个样本类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。.
2021-09-20 15:07:05
456
原创 算法笔记入门(算法模拟日期处理)——问题 E: 日期累加
题目描述设计一个程序能计算一个日期加上若干天后是什么日期输入输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。输出输出m行,每行按yyyy-mm-dd的个数输出。样例输入12008 2 3 100样例输出2008-05-13思路分析:统计日数加之后的日期,然后进行累加判断即可。#include <cstdio>bool isLeap(int year){ return (year%4==0 && year%100!=0
2021-09-18 17:30:52
96
原创 算法笔记入门(算法模拟日期处理)——问题 D: 日期类
题目描述编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。输入输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。输出输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。样例输入21999 10 202001 1 31样例输出1999-10-212001-02-01思路分析:区分开平年闰年,再对天数进行累加,计算日期#include <cstdio>bool isL
2021-09-18 17:25:36
139
原创 算法笔记入门(算法模拟日期处理)——问题 C: 打印日期
题目描述给出年分m和一年中的第n天,算出第n天是几月几号。输入输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。样例输入2013 602012 3002011 3502000 211样例输出2013-03-012012-10-262011-12-162000-07-29思路分析:在日期处理中因为存在闰年平年之分,所以有二月的差异,需要判断是否是闰年再进行年月日的判断处理#include <cstdio>bool isLe
2021-09-18 17:13:32
124
原创 算法笔记入门(算法模拟日期处理)——问题 B: Day of Week
题目描述We now use the Gregorian style of dating in Russia. The leap years are years with number divisible by 4 but not divisible by 100, or divisible by 400.For example, years 2004, 2180 and 2400 are leap. Years 2004, 2181 and 2300 are not leap.Your task i
2021-09-18 17:03:10
313
原创 算法笔记入门(算法模拟日期处理)——问题 A: 日期差值
题目描述有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。输入有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出每组数据输出一行,即日期差值样例输入2013010120130105样例输出5思路分析:本题是计算两个日期之间间隔天数的计算,所以需要判断是平年闰年,然后再进行计算,另外两个相邻日期之间需要注意的是算两天时间。#include <cstdio>int month[13][2] = {{0,0},{31,3
2021-09-18 16:34:39
216
原创 算法笔记入门(算法模拟图像)——问题 D: 沙漏图形 tri2str [1*+]
题目描述问题:输入n,输出正倒n层星号三角形。首行顶格,星号间有一空格,效果见样例输入样例:3输出样例:* * * * * * * * * * *数据规模 1<= n <=50思路分析:先输出倒三角形,再输出剩余部分即可。#include <cstdio>#include <cmath> int main(){ int n; scanf("%d",&n); int t=n; int m;
2021-09-15 22:26:19
159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人