自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

羊城迷鹿的博客

饱食终日,无所用心

  • 博客(304)
  • 资源 (6)
  • 收藏
  • 关注

原创 Stable Diffusion系列(六):原理剖析——从文字到图片的神奇魔法(潜空间篇)

论文提出了一个名为Latent Diffusion Models (LDM)的新模型,旨在减少直接在像素空间中训练扩散模型所带来的计算复杂度。提出了两阶段训练方法:首先训练一个自动编码器,学习一个低维的潜在空间表示,然后在自动编码器的潜在空间中训练扩散模型。这显著降低了训练和推理的计算复杂度。引入交叉注意力机制:通过将交叉注意力层添加到UNet中,LDM可以处理各种条件输入,如文本或语义布局,并实现高质量的图像生成。

2024-02-18 17:06:12 1561

原创 Stable Diffusion系列(五):原理剖析——从文字到图片的神奇魔法(扩散篇)

这是解开图片生成之谜的第一把钥匙,原文是发表于NIPS2020的Denoising Diffusion Probabilistic Models,下面我们就如庖丁解牛般,尝试洞察里面的每一丝细节。先从标题说起,很久没有看到过这么简明扼要的论文名了,用三个词就完美概括了DDPM的核心思想,去噪(Denoising)是方法、扩散(Diffusion)是架构、概率(Probabilistic)是媒介。至于目的,当然是去生成以假乱真的图片。图片生成不是什么新鲜事,VAE和GAN都是曾经的研究宠儿,它们在生成图片时都

2024-02-15 14:47:57 1693 1

原创 Stable Diffusion系列(四):提示词规则与使用

所谓提示词,也就是文生图中的文,由连贯的英语单词或句子组成。还是上面的例子,总共30步,前20灰发,后10蓝发。以DreamShaper8 SD1.5为例。前百分之30灰发,后百分之70蓝发。在此基础上,让眼睛变成黄蓝混合。前一半是蓝发,后一半去除蓝色。不是很好用,只有蓝色。

2024-01-28 19:13:25 1770

原创 基于LLaMA-Factory的微调记录

由于不需要考虑多轮对话,所以history可以不要,这里采用了两种数据集的组织方式,一种是只有instruction和output,把问题作为instruction,另外一种是把问题作为input,把回答问题这一要求作为instruction。微调时一般需要准备三个数据集:一个是自我认知数据集(让大模型知道自己是谁),一个是特定任务数据集(微调时需要完成的目标任务),一个是通用任务数据集(保持大模型的通用能力,防止变傻)。测试的大模型可以使用这些,注意要下载最新版,老版的模型结构不太匹配。

2024-01-26 17:16:42 3214 8

原创 无法打开jupyterhub网页问题的解决历程

我把每个端口都在浏览器中输了一遍,有一些可以访问到本地的文件夹,拿到了一些关于连接和配置的文件,当我试到26280的时候,jupyterhub网页居然正常打开了!原来,这就是网址对应的端口号,当我以IP+端口号访问的时候,可以绕开网页方式访问导致的缓存错误,因为这样就相当于直接访问本机存放的js文件,不会有乱七八糟的中间过程。去年的第一场雪下过几天之后,我的jupyterhub网页突然无法使用了,打开是能打开,但是一片空白,没办法做交互,也没有明显的报错。打开本地的nmap文件,里面是这样的。

2024-01-19 10:42:44 944

原创 知识图谱gds使用记录

在每次传播迭代中,每个节点将其标签更新为其邻居节点中最常见的标签。这个过程会不断重复,直到标签达到收敛,即每个节点的标签与其邻居节点的大多数标签相同。通过标签的传播,密集连接的节点组很快就会形成共识,并形成一个社区。在传播结束时,只有少数几个标签会保留下来,大多数标签会消失。算法的核心思想是通过在网络中传播标签来形成社区。PageRank算法考虑节点的入度和出度计算重要性,可以识别影响力较大的节点。上述代码中第二个参数是节点,第三个参数是关系,可以通过字符串或列表的形式根据单个或多个节点和关系建图。

2024-01-09 15:24:13 439

原创 neo4j图数据库的简单操作记录

知识图谱文件导出首先停止运行sudo neo4j stop然后导出数据库导出格式为:具体命令如下sudo neo4j-admin database dump --to-path=/home/ neo4j最后重启sudo neo4j start知识图谱外观修改在网页点击节点,选中一个表情后点击,可修改其颜色、大小和显示的属性。

2024-01-08 11:21:31 651

原创 基于数据库和NER构建知识图谱流程记录

这样跑是能跑,但是速度会非常慢,因为每次都从所有的节点里面找。我们可以观察到,对某种特定的关系,头实体和尾实体都属于某种特定的节点类型,因此可以先把所有这一类型的节点存到一个字典里,再在这个字典里做匹配,这也是目前实现的算法。为了将数据库中字段解析为知识图谱的内容,需要完成以下几部分的功能:一是直接与数据库交互,二是通过NER解析文本描述内容,三是计算时间和地点间的相似度。其实知识图谱的构建常常是节点和边同时构建的,但由于我们的数据量非常大,同时构建逻辑比较复杂,所以采取了先统一建节点,后统一建边的逻辑。

2024-01-05 12:09:09 1077

原创 Linux使用screen后台执行命令

Screen是一个在Linux/Unix系统下的命令行窗口管理器,它允许用户在一个终端窗口中同时运行多个命令行会话,并在这些会话之间轻松切换。Screen还提供了一些其他功能,例如后台运行会话、断开连接后保持会话等。

2024-01-04 10:56:44 419

原创 Stable Diffusion系列(三):网络分类与选择

我一般把对模型的描述放在notes里面,因为如果放在描述里会显示在选择界面里,看着非常乱,点击Replace preview可以将模型封面图替换为当前生成的图片。炫耀一下我的老婆们:sd-webui-prompt-all-in-one插件:用于选择模型、超网络、Lora和嵌入。

2023-12-23 17:00:29 2093 3

原创 一文读懂Langchain:ChatGLM3和ChatGPT的Agent调用分析

首先下载上面给出的github项目并安装环境,然后想想要测试什么问题。请问下面这个字符串的长度的三次幂是几:XXX,理想情况下,Agent加持的大模型会分析出需要调用获取字符串长度和计算三次幂这两个工具,然后连续调用它们得到正确的结果。所以第一步就是要把这两个工具定义好,在这个项目里,只要在Tool文件夹下定义好xxx.py和xxx.yaml这两个文件,xxx这个工具就算可以使用了,我们对这两个工具的定义如下,注意这些工具的输入和输出都得是字符串。

2023-12-08 13:55:25 4077 5

原创 基于Langchain的txt文本向量库搭建与检索

这里的源码主要来自于Langchain-ChatGLM中的向量库部分,做了一些代码上的修改和封装,以适用于基于和(文件名为库表名,文件内容为库表中的字段及描述)对数据库表进行快速检索。

2023-12-04 19:09:27 910

原创 主流开源大语言模型的微调方法

支持市面绝大多数模型的QLoRA和全量参数微调。支持市面少数模型的QLoRA和全量参数微调。全量微调和 P-Tuning v2。全量微调和 P-Tuning v2。全参微调、LoRA以及Q-LoRA。支持市面绝大多数模型的各种微调。

2023-11-21 11:11:25 752

原创 华为昇腾云平台适配Baichuan2大模型记录

文件发现报错:ValueError: The pipeline stage 2 in auto_parallel_context is not equal to the pipeline_stage 1 in the config.run_baichuan2_7b.yaml`,发现默认设备数是16卡,对应的pipeline_stage为2,但实际是8卡,那就改成下面的试试看。,将Baichuan2_7B_Chat.ckpt文件复制进去,将。点击镜像管理,突然发现有个2_2_0,赶紧新建了一个,成功。

2023-11-09 12:28:31 924 5

原创 Stable Diffusion系列(二):ControlNet基础控件介绍

在下载插件时可以看到,ControlNet 插件的星数遥遥领先,远超其他妖艳贱货。究其原因,是因为其大大增强了使用者对图片生成过程的控制能力,图片的生成同时受到提示词和提示图的影响,使得文生图由抽卡游戏变成了一个更具确定性的创作工具。ControlNet位置位于文生图界面下方,记得要勾选启用,可控类型包括这么点东西:接下来我将以喜闻乐见的熊猫花花为例,演示一下关于ControlNet的高端操作。

2023-11-01 09:32:07 882

原创 Stable Diffusion系列(一):古早显卡上最新版 WebUI 安装及简单操作

该插件的原理是在调用和完成时分别向原始模型中注入(inject)和删除(restore)时间步模块从而生成连续变化的GIF,由于整体版本过老,直接执行该插件会报没有insert和pop方法的错误,因此需要在。首先在模型左侧选择Stable Diffusion模型及其对应VAE,然后输入正向和反向提示词,在下面点击生成相关设置如采样方法、采样迭代次数和宽高等。lora是一类对模型进行微调的方法,是一系列参数量较小的模型,在与原始模型结合后,可以对生成图片做特定修饰,可以理解为化妆技术。

2023-10-29 17:46:02 1721

原创 stable diffusion如何解决gradio外链无法开启的问题

为了确认gradio开启不了是gradio库的问题还是stable diffusion的问题,可以先执行这样一段demo代码。里,可以看到这样一层。

2023-10-21 12:03:40 680

原创 汇总开源大模型的本地API启动方式

【代码】汇总开源大模型的本地API启动方式。

2023-10-07 16:30:57 672

原创 使用爬虫批量下载图片链接并去重

【代码】使用爬虫批量下载图片链接并去重。

2023-09-20 14:02:39 1584

原创 使用fastchat实现大模型高并发对话

【代码】使用fastchat实现大模型高并发对话。

2023-09-20 13:55:35 1589 2

原创 使用css美化gradio界面

【代码】使用css美化gradio界面。

2023-08-21 15:38:51 2533

原创 langchain-ChatGLM源码阅读:模型加载

:在这一部分代码中,通过调用 get_balanced_memory 函数来获取一个适当的内存分配方案,执行完后每个卡都会产生少量的显存占用。作用:将配置对象的类与模型类或对象建立关联,以便根据配置来获取相应的模型类或对象。作用:遍历权重文件分片,逐一加载这些分片,但会跳过那些只包含磁盘上载权重的分片文件,显示加载的进度条,也就是下面这个东西,但此时模型权重还没有加载到显存中。包路径:site-packages/transformers/models/auto/auto_factory.py。

2023-08-19 12:55:25 1288 1

原创 python批量将doc文件修改为docx文件

【代码】python批量将doc文件修改为docx文件。

2023-08-16 14:09:17 748

原创 gradio解决上传文件数最大为1000的限制

进入scripts文件夹,执行。回退至主文件夹,使用。

2023-08-10 16:38:33 629

原创 langchain-ChatGLM源码阅读:参数设置

虽然放在了模型配置那一页,但实际上还是用来控制上下文关联里面的内容条数k的,不知道为什么写了两遍。其实就是要存多少历史记录,如果为0的话就是在执行当前对话时不考虑历史问答。这些参数没有在前端显式地给出,而是写死在了模型定义里。

2023-08-06 00:36:10 2283

原创 langchain-ChatGLM源码阅读:前端样式

监听到前端的事件后调用的回调函数,负责实现前后端交互。需要注意的一点是,chatbot中显示新的聊天内容并不是在原来的基础上添加,而是从头到尾的重新打印,所以基本上每个函数都要传旧的history和返回新的history。使用gradio设置页面的视觉组件和交互逻辑。

2023-08-01 08:23:23 2519

原创 linux下github和huggingface无法访问怎么办

原始github网址。

2023-06-13 18:02:43 1999 2

原创 如何建立到NAS中新增容器的ssh连接

注:首先需按照建立Zerotier连接,然后进入新建的nginx镜像,为root用户建立密码。

2023-04-22 11:37:52 533 1

原创 如何在jupyter notebook的cell中运行py文件时将传递参数写成多行

【代码】如何在jupyter notebook的cell中运行py文件时将传递参数写成多行。

2023-04-20 13:42:43 133

原创 花生壳诊断连接时出现1007错误的解决方案

找到了原因,使用2和3中的命令测试都没有得到正确结果,说明DNS有问题。在Linux平台上修改DNS,注意要用sudo获取只读文件的修改权限。在内网配置好花生壳客户端后,发现连接失败。

2023-04-07 10:53:37 3823

原创 Reasoning Through Memorization: Nearest Neighbor Knowledge Graph Embeddings论文阅读

扩展的方式是加入所谓的special tokens,为了让special tokens有明确的语义,还需要加入以下的预训练任务。看到这里我才理解整个KNN算法,给定一个最近邻居k,是在知识库中筛选出k个离给定嵌入表示最近的实体,然后用距离表示它们的概率,并与另一种方式计算出来的概率加权。知识库中以(k,v)对的形式存储实体与嵌入的关系,其中k是基于描述或三元组的嵌入,v是对应实体的名称,论文使用开源的FAISS来执行高维空间的检索算法。从包含语义信息的实体描述和包含结构信息的实体三元组两方面来构建知识库。

2023-01-27 18:16:12 787

原创 I Know What You Do Not Know: Knowledge Graph Embedding via Co-distillation Learning

这里可能是为了强调要把target entity预测对,损失函数分为两部分,前半部分是target,后面是非target,由于KL散度要处理的是分布,因此把target由标量转为向量如下图所示。论文以类似的提示词方式计算两个方向上的邻居嵌入并求和,不过反正最后是相加,所以其实没必要分开写。以一种递归的模式,上述基于三元组的重建过程可以推广到基于邻居子图的重建。传统的蒸馏学习中,用t表示老师,s表示学生,损失函数如下。是关系相关的提示词,会被加入词表中,下标对应不同的位置。共蒸馏确实利用了两个模型的互补性。

2022-10-27 13:54:20 468

原创 Inductive Entity Representations from Text via Link Prediction

定义一个带实体描述的知识图谱为G=(E,R,T,D)G=(E,R,T,D),其中一个三元组记做(ei,rj,ek)(ei​,rj​,ek​),对实体eie_iei​的文本描述为dei=(w1,…,wn)∈Ddei​=(w1​,…,wn​)∈D链路预测的目标是让正样本的得分高于负样本Bert对文本表示进行编码,经过投影矩阵得到实体表示。

2022-10-17 16:48:23 746

原创 Structure-Augmented Text Representation Learning for Efficient Knowledge Graph Completion

不可见实体实验,其中First Probing Task指的是测试集中只包含训练时没见过的实体,Second Probing Task指的是从训练集中随机删除实体,Third Probing Task指的是测试集中只保留训练时见过的实体。孪生神经网络的用途是显而易见的,就是判断两个相似的输入是否是相同的,比如人脸或者是签名识别等等。孪生模型还有两个变种,一种是让两个网络不共享权重甚至完全是不同结构的网络,称之为伪孪生神经网络,主要用来处理输入和输出差距较大的情况,比如说判断文章的标题和内容是否匹配。

2022-10-14 10:26:34 515 3

原创 Multi-Task Learning for Knowledge Graph Completion with Pre-trained Language Models

其实到这里就能看出来了,这篇文章做的并不是纯粹的多任务预测,因为不同任务的输入是不一样的,这里的输入就是。其实就是拉开正样本和负样本的分差,增强模型的判别能力。做链路预测时还是要把h+r+t作为输入并打分。引入关系预测和相关性排序这两个新任务。,将其名称和描述拼接,例如对于。以多任务形式训练KGBERT。为负采样结果,损失函数如下。为分类权重,损失函数如下。为打分权重,损失函数如下。对应的隐藏向量的表示,

2022-10-03 18:57:14 182

原创 KG-BERT: BERT for Knowledge Graph Completion

将三元组的名字和描述拼接后得到完整的句子,送入bert得到对整个三元组的表示,用这个表示去执行三元组分类任务或关系预测以微调bert。一个比较有意思的实验是,在较小的训练集比重下,也能得到很好的结果。第一篇使用预训练语言模型做知识图谱补全的论文。

2022-10-02 16:51:17 311

原创 Rethinking Graph Convolutional Networks in Knowledge Graph Completion

知识图谱表示为K={(ei,rj,ek)}⊂E×R×EK={(ei​,rj​,ek​)}⊂E×R×E,可以由一个三阶邻接张量X∈{0,1}∣E∣×∣R∣×∣E∣X∈{0,1}∣E∣×∣R∣×∣E∣唯一确定给定三元组(hi,rj,tk)∈E×R×E(hi​,rj​,tk​)∈E×R×E。

2022-09-21 20:07:36 838

原创 IJCAI22:Language Models as Knowledge Embeddings

虽然说是对比学习,但感觉对正负样本对的定义有点奇怪,其实还是负采样,跟之前的方法没有本质区别,最大的创新点是把头实体加关系、以及尾实体分别用文本表示了看了一下github上放出来的代码,运行时间有点吓人,跑一次模型需要两天以上。

2022-09-16 21:15:54 932

原创 java运行pytorch模型

后续的java代码不能直接处理IValue类型的数据,因此要将其解析为传统的数组类型。由于模型输出的结果包含多项,因此result是Tuple类型,从中取出一项并返回数组的示例如下。fromBlob函数输入的两个参数分别是展平的一维数组和原始大小,返回大小为batchSize。,这是pytorch在java中的基本运算单位。之后将tensor数据转换为IValue作为forward函数的输入。以nlp任务为例,可以定义一个InputFeatures类,输入为文本,将其解析为以下数据。...

2022-08-29 14:02:58 2095 6

原创 python中那些常见的@装饰器

使用场景:所在的 class 继承 abc.ABC,这个 class 就变成了抽象类, 不能被直接实例化, 要想使用抽象类, 必须继承该类并实现该类的所有抽象方法。

2022-08-22 14:29:25 531 1

Stable diffusion模型汇总,其分类存放到不同的文件夹中,包括模型名称、使用方式和效果图,对应模型文件过大,需手动下

Stable diffusion模型汇总,其分类存放到不同的文件夹中,包括模型名称、使用方式和效果图,对应模型文件过大,需手动下

2024-01-27

stable Diffusion webui常用嵌入文件汇总,包含不同类别的具体文件及效果图和使用说明,解压后直接使用

我整理了常用的嵌入文件,按用途分为多个类别,放置于stable-diffusion-webui\embeddings路径下即可使用。 嵌入可以看做是一种特殊的提示词,它可以影响模型对文本的编码层,通常为10-100 KB。 嵌入文件一般以pt或bin作为后缀名,使用时需在提示中输入嵌入名。 嵌入文件可以作为负面提示词,也可以对生成图片做某些方面的修改,例如年龄、性别等。

2024-01-27

自然语言处理中的嵌入综述.docx

个人综述,主要针对近年来顶会

2021-07-24

时序数据预测综述.docx

个人写的综述,课程作业需要

2021-07-24

Patterns, Predictions, and Actions.pdf

PATTERNS, PREDICTIONS, AND ACTIONS Latest version available at https://mlstory.org.

2021-07-24

python 实现的median_cut算法

按照多媒体课本上的步骤,严格执行中值区分算法,将24位图像转换为256色图

2018-12-03

C++完整实现DES算法

DES算法的C++实现,可以输入任意字符,进行加密和解密,命令行界面。

2018-11-23

空空如也

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

TA关注的人

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