自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Langchain_RAG搭建入门

代码是在B站上看到的,先记在这里。后续还会根据自己的实际需求修改。涉及到的task主要包括 读取PDF文档、知识切片、对文本进行向量化、利用向量相似度检索出和问题最相关的k个文档,将检索到的文本注入Prompt得到最终的回答。

2024-08-16 17:44:48 266

原创 命令行与虚拟环境

在创建一些编程项目时,由于使用不同的工具可能对Python版本及其他软件包有不同的要求,这个时候需要创建不同的虚拟环境以避免将所有的软件包都放在一块而引起冲突。另外,我的系统里有base和llama_factory两个虚拟环境,我发现在这两个虚拟环境中都可以通过neo4j start启动neo4j。要确保不同的虚拟环境彼此隔离,你可以检查每个虚拟环境中的PATH和环境变量配置,以确保它们互相独立。使用的虚拟环境工具不同,激活虚拟环境的方式也会有所不同。这将删除名为myenv的虚拟环境及其所有安装的包。

2024-08-15 15:56:45 340

原创 爬取ctext(中国哲学书电子化计划)文本

几年前的代码,记在这里,以免后面找不到。刚刚运行了一下,代码还是能用的。

2024-08-04 11:11:24 239

原创 在PAI-DSW中连接Neo4J,并批量创建知识图谱

是:在PAI-DSW的命令行使用./cypher-shell语句登录neo4j,然后在PAI-DSW的NoteBook中使用neo4j模块或者py2neo模块连接(在PAI-DSW的命令行中)已启动的neo4j,进行批量的节点和关系创建。这样的做法就类似于在本地的命令行启动neo4j,然后再在本地的NoteBook中使用neo4j模块或py2neo模块连接(本地命令行中启动的)neo4j,在命令行和NoteBook中登录的neo4j都处于同一局域网中。然后使用neo4j.close()关闭与数据库的连接。

2024-08-02 19:34:37 769

原创 PAI-DSW中对齐NoteBook和命令行的Python环境

我认为在最开始NoteBook和命令行的Python环境是一致的,只是我前面在部署LLaMA-Factory时进行了如下操作将命令行的Python环境改成了/root/anaconda3/bin/python。具体详见。

2024-08-02 12:25:21 818

原创 LLaMA-Factory私有化部署 -- PAI-DSW

LLaMA-Factory的私有化部署与部署大模型的过程大体相同,都包括创建Python虚拟环境、下载项目文件及安装所需的依赖包,但在部署LLaMA-Factory时不需要再安装模型权重文件。LLaMA-Factory的requirements.txt文件包含了项目运行所需的所有Python包及其精确版本,可使用pip一次性安装所有依赖。建议在执行项目的依赖安装之前升级pip的版本,如果使用的是旧版本的pip,可能无法安装一些最新的包,或者可能无法正确解析依赖关系。使用下面的代码进行Pytorch的安装。

2024-07-31 11:52:58 316

原创 ChatGPT接入Neo4J,实现精准领域知识问答

我自己构建了一个小型的古籍知识库,想接入ChatGPT,来实现更精准的古籍知识问答。实现的方式应该有很多,但我目前只会最简单的,即:调用chat-gpt的api,通过prompt生成Cypher查询语句进行查询,然后chat-gpt根据查询的结果生成回答。修改的代码,看见CSDN上也有类似代码,但需要付费订阅才能看。下图是最终生成的结果中的描述,结合之前创建的知识图谱,或者《山海经》原文,可知这个答案是很准确的。而下图是GPT-3.5-Turbo的原始回答,可知其对领域知识知之甚少。我主要是根据B站视频。

2024-07-28 18:47:59 431

原创 Open AI之Chat Completion中的stream流式

最近需要调用Open AI的API,对openai.ChatCompletion.create()函数的输入流stream参数不太了解,网上查看了一些资料,记在这里。由于我购买的API支持的openai的版本较低,代码中涉及的函数可能只对低版本的openai第三方库有效。对stream流式的原理进行了较为详细的介绍。简言之,当设置stream = False 时响应是一个json格式的数据块,以message的形式整体输出;有stream = False 和stream = True 的详细代码示例。

2024-07-28 18:17:55 365

原创 阿里云DSW实例中安装并运行Neo4J

想尝试使用大模型对接Neo4J,在阿里云DSW实例中安装了Neo4J,却无法通过本地浏览器访问在DSW实例中运行的Neo4J。尝试了改neo4j.conf文件,以及添加专用网络的公共IP地址等方法,均没有成功。最后决定直接在服务器的命令行进行各种Cypher操作。以下是一些记录。

2024-07-16 18:04:14 709

原创 ChatGLM3-6B微调实战--debug记录

发现前一个requirements.txt文件中要求的transformers的版本为4.40.0,而我系统安装的transformers版本为4.41.2。系统安装的accelerate默认是当前最先的0.32.1 ,在命令行中查看accelerate文件夹中的文件,发现叫得出名字的只有test_utils,看不到hooks.py文件。,pyarrow conda-forge package有三个不同的版本,报错是因为默认安装的pyarrow不包含ListViewType。是有hooks.py文件的。

2024-07-08 23:44:33 885

原创 阿里云人工智能平台PAI部署开源大模型chatglm3之失败记录--update:最后成功了!

想学习怎么部署大模型,跟着部署了一个星期,然而没有成功。失败的经历也是经历,记在这里。我一共创建了3个实例来部署chatglm3,每个实例都是基于V100创建的(当时没有A10可选了),其显存只有16G。每个实例分配的系统存储盘有100G。这三个实例,每个实例都有不一样的失败原因。实例一挂在了下载模型权重文件这一步到这一步的时候系统盘莫名其妙的满了,导致下载模型权重文件报错。由于第一次系统盘早早地满了,第二次部署的时候我就跳过了前期的一些操作,其中包括配置环境变量这一步。

2024-07-06 13:18:22 791 2

原创 torch.optim 之 Algorithms (Implementation: for-loop, foreach, fused)

一般来说,Adam及其变种由于其高效的自适应学习率调整机制和较好的收敛性能,广泛应用于各种深度学习任务,如分类、回归、自然语言处理和图像生成等。Chat-GPT-4o认为不同的优化算法有不同的适用场景和任务,比如分类、回归、图像处理、自然语言处理等。一些常见的algorithm有:SGD、Adam等,不同的algorithms可能有不同的implementation。自适应学习率算法,对频繁更新的参数进行较小的更新,对不常更新的参数进行较大的更新。适用于稀疏数据和文本数据的任务,比如自然语言处理。

2024-06-20 21:45:14 1071

原创 torch.optim 之 distinct penalization

通过为不同的参数组设置不同的正则化权重,可以对模型中的不同部分应用不同程度的正则化。在深度学习中,"penalization"通常指的是正则化,它是一种用来防止模型过拟合的技术。"Distinct penalization"这个概念指的是对不同的模型参数应用不同程度的正则化。例如,权重参数可能需要较强的正则化以防止过拟合,而偏置参数可能需要较弱的正则化,因为它们通常不会导致过拟合问题。在这个例子中,我们为模型中的权重和偏置创建了不同的参数组,并为它们设置了不同的权重衰减(正则化)值。

2024-06-20 18:06:32 332

原创 知识图谱与云计算

所以不但要做符号化的知识图谱的管理,也要做向量化的知识图谱的管理。现在一个重要的趋势就是将知识图谱的符号式的表示转换成分布式的数值表示。大模型通过使用大规模的数据进行训练,学到了很多我们人类还没意识到的隐性的知识。未来应将知识图谱中的显性知识与大模型中的隐性知识结合起来解决问题。知识图谱是符号主义解决问题的一种方式。知识图谱中概念知识的向量化表示跟实体知识的向量表示是不一样的,如何对这些概念知识的向量表示进行学习也是需要考虑的问题。由于图的表示多种多样,对知识图谱进行系统化的管理十分的必要。

2024-01-04 17:31:09 570

原创 基于pyltp的依存句法分析

代码是两年多前网上找的,能运行。先记在这里,以防以后用到。

2023-12-01 16:01:39 691

原创 集成学习的两种常见策略:bagging VS. boosting

Bagging(自助聚集法):Bagging是一种并行的集成学习策略,它通过随机有放回地从原始训练集中抽取多个子样本集,并使用这些子样本集来训练多个基学习器。每个基学习器都是独立地训练,并且可以并行地进行。最后,通过对基学习器的预测结果进行投票或平均,来得到集成模型的最终预测结果。Bagging的主要思想是通过减少模型的方差来提高整体模型的稳定性和泛化能力。通过随机抽样和并行训练,Bagging能够减少模型对训练数据的过拟合程度,提高模型的鲁棒性。

2023-11-27 17:44:29 1155

原创 机器学习:scale-variant VS. scale invariant, discriminative models VS. generative models

Chat-GPT回答的,记在这里。

2023-11-27 17:38:45 515

原创 NLP中两个词向量间余弦相似度的求解方式

根据ChatGPT生成的答案改的。

2023-11-20 17:59:15 147

原创 Kneser-Ney平滑(Kneser-Ney smoothing)简介

它的基本思想是利用n-gram的上下文信息来估计未见n-gram的概率。在语言模型中,n-gram是指由n个连续的词组成的序列。n-gram语言模型的目标是计算给定一个上下文的情况下,下一个词的概率。然而,当模型遇到未在训练数据中出现的n-gram时,概率会变为零,这会导致模型在生成或评估文本时出现问题。(3)Kneser-Ney平滑通过利用上下文信息来提高语言模型的性能,尤其是在处理未见n-gram时。(2)在计算概率时,使用补充概率和回退概率来调整未见和已见n-gram的概率。计算补充概率和回退概率。

2023-11-06 15:10:44 595

原创 【报错-已解决】Resource tagsets not found.

最近在接触nltk,已经在电脑里download nltk.data了,但程序还是报错Resource tagsets not found.对tagset压缩包进行解压,并确认解压后的文件夹文件路径没有重复(tagsets),该问题便解决了。在电脑里查找tagset,发现tagset文件没有解压。

2023-11-04 00:01:45 205

原创 【python的输入】sys.stdin与sys.argv

在老师的课堂里碰到了sys.stdin与sys.argv,虽然是很简单的东西,还是花了大半天的时间才勉强理解。在这里记录一下学习过程,方便以后用到复习。

2023-10-04 00:19:52 1021

原创 【已解决+吐槽】pip install cn2an报错 Cannot uninstall ‘ruamel_yaml‘

我需要用cn2an模块将中文的数字转化为阿拉伯数字,但在安装cn2an的过程中出现了以下报错:于是乎,我跟着CSDN上开始跟nodejs死磕,折腾了大半天,以下是各种尝试。然后就一直卡在这。由于我是nodejs小白,所以就跟着这篇讲解的教程反复修改各种路径以及环境变量,但是一直没解决。

2023-09-01 22:59:26 497

原创 【李宏毅机器学习·学习笔记】Tips for Training: Adaptive Learning Rate

本节课主要介绍了Adaptive Learning Rate的基本思想和方法。通过使用Adaptive Learning Rate的策略,在训练深度神经网络时程序能实现在不同参数、不同iteration中,学习率不同。本节课涉及到的**算法或策略**有:Adgrad、RMSProp、Adam、Learning Rate Decay、Warm Up。

2023-08-05 16:39:07 429

原创 【李宏毅机器学习·学习笔记】Tips for Training: Batch and Momentum

本节课主要介绍了Batch和Momentum这两个在训练神经网络时用到的小技巧。合理使用batch,可加速模型训练的时间,并使模型在训练集或测试集上有更好的表现。而合理使用momentum,则可有效对抗critical point。

2023-08-04 15:32:52 483

原创 【李宏毅机器学习·学习笔记】when gradient is small-Critical Point (local extramum/ critical point)

本节课主要内容是介绍optimization失败后,如何对失败原因进行判定。当optimization不再起作用,参数对loss的微分趋近于0,gradient为0无法再update参数,而loss还很大,此时是卡在了local minima/local maxima,还是卡在了saddle point?课程引入了critical point的概念,并用Tayler Series Approximation来判定是卡在局部极值点还是saddle point。最后对局部极值点出现的概率进行了分析。

2023-08-04 00:29:06 121

原创 【李宏毅机器学习·学习笔记】Deep Learning General Guidance

本节课可视为机器学习系列课程的一个前期攻略,这节课主要对Machine Learning 的框架进行了简单的介绍;并以training data上的loss大小为切入点,介绍了几种常见的在模型训练的过程中容易出现的情况(model bias, optimization, overfitting, mismatch)。

2023-07-29 15:28:57 785

原创 Django基本操作:创建网页文件夹及APP

运行该文件夹下的manage.py文件(这个语句在cmd中跑不通,在ana可以,可能是ana中才有虚拟环境)输入如下语句,会发现文件夹中多了一个叫ShanJing的文件夹。会发现该路径下多了个mywebsite文件夹。创建一个叫ShanJing的APP。(同样的代码在cmd中跑不通)命令行查看Django版本。浏览器查看Django页面。

2023-04-05 14:19:27 270 1

原创 Gephi cannot find Java 1.8 or higher报错解决

我将Gephi.conf中的jdkhome变量设置如下:(https://blog.csdn.net/weixin_43846270/article/details/113402004?Gephi能正常打开了。

2022-09-17 16:50:03 625 3

原创 使用TF-IDF对文本集中的单篇文本制作词云

使用TF-IDF制作整个文档集的词云有不少人讲过,如何对文档集中的单篇文档制作TF-IDF词云,却很少人写过。参照别人的代码,自己花不少时间琢磨代码里的逻辑,改动后,终于能对文档集中的单篇文档制作TF-IDF词云了。...

2022-08-17 23:21:51 980 2

原创 import pyLDAvis as gensimvis报错

网上主要说跟pyLDAvis版本有关,但我使用pyLDAvis-3.3.1、pyLDAvis-2.1.2都会报这个错,说明错误是其他原因

2022-07-28 11:55:08 1313

原创 【求助】关于Python中remove()函数的一点疑惑

Python的remove()函数没办法remove掉所有符合条件的元素

2022-07-17 10:04:40 242

原创 Python读取json文件,并将其写入excel

需要对一批谣言数据进行处理,该数据集是由清华大学自然语言处理与社会人文计算实验室整理的与疫情相关的谣言数据。数据集的整体构成如下,共有324个文件,皆放在rumor_weibo文件夹下:每个文件中存储着一个字典类型的数据(注意:字典并非放在列表中),该字典共由11个键值对对构成,如下:对每个键值对的详细描述可参看该数据集的官网,这里就不多说了,主要包括谣言的内容、发布时间、处理结果等。笔者想将这324个文件中的数据存储到一个excel中。1.Python读取json文件(1)首先以读取一个文

2021-04-18 20:25:17 7331 3

原创 Python之使用argparse在命令行读取文件

关于argparse之parser.add_argument()的用法,这篇文章有较为详细的讲解。因为作业需要,我需要在命令行读入txt文件,网上看了不少博客,都没有直接介绍,而小白在自己尝试的过程中踩了不少坑,尽管做法很简单。这里记在这里。1.在Python的shell中写一个 ArgparseTry.py 文件,其中的代码如下:import argparsedef readfile(path): with open(path,'r',encoding='utf-8-sig') as f:

2021-04-12 20:57:35 4066 1

原创 基于维基百科英文语料的Word2Vec模型使用

关于这方面的知识还没有弄透彻模型使用的常用方法有(见博文):另外还可参看gensim.Word2Vec的官方文档记在这里,以免后面忘掉了

2021-04-02 10:17:30 222

转载 范数、归一化、正则化

最近刚接触机器学习,很多概念都不是很懂,找到几篇文章,记在这里,以后再看范数、正则化、归一化、标准化知乎上的高赞回答

2021-02-25 18:49:04 418

原创 TransE全文中文翻译(Translating Embeddings for Modeling Multi-relational Data)

AbstractWe consider the problem of embedding entities and relationships of multi-relational data in low-dimensional vector spaces. Our objective is to propose a canonical model which is easy to train, contains a reduced number of parameters and can scale

2021-02-08 14:22:55 2824

原创 pyltp安装报错(cl.exe缺失两个属性)的解决办法

最开始,我使用pip install pyltp安装,程序直接报错然后,在网上下载了.tar压缩文件,安装,依然报错,显示cl.exe缺失两个属性:这个错误应该和VC环境没有关系,因为我是使用VC的命令行进行安装的看网上经验,好像用.whl文件安装更好,这里有对应Python3.6版本的pyltp免费文件我电脑里的Python版本是3.7的,有的博主说可以将Python版本降成3.6的,也有的博主说,可以直接将.whl文件名对应的36字样改成37,我采用了后一种方法,很快地安装成功:..

2021-01-10 10:01:25 322

原创 pkuseg.test()函数使用的困惑

用pkuseg模块来进行分词,在使用pkuseg.test()函数时,遇到了一些问题1.当我像这样写代码时,程序一直在运行状态,跑不出结果import pkusegpkuseg.test('input.txt','output.txt',postag=True,nthread=20) 这里的’input.txt’是直接从网上贴的,其具体内容如下:我们都有一个家名字叫中国,兄弟姐妹都很多,景色也不错。男子倒车时将自己碾死,监控记录离奇过程小米今日有30多亿股限售股解禁,小米集团发布公告,称雷

2021-01-05 11:08:57 354

原创 访问Django开发服务器

尝试了几次,都无法成功启动django开发服务器后来在网上看到了这篇博客,改了语句,访问成功

2020-12-05 20:30:22 205

原创 基于py2neo(v4)的知识图谱小案例

这个项目网上很多大神都讲过,但都是用的py2neo(v2,v3),这里对部分语句作了改动,使其在py2neo(v4)适用,主要改了以下语句hyp_node = self.graph.find_one( label=dis_label, property_key="name", property_value="高血压" )#from py2neo import Graph,Node,Relationship,Nod

2020-11-30 23:38:46 665

李宏毅机器学习学习笔记

李宏毅机器学习学习笔记

2023-08-05

Python安装第三方库笔记

学习python过程中经常需要安装各种第三方库,如beautifulSoup等,把安装过程记在这里,以免忘记了。

2023-04-05

空空如也

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

TA关注的人

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