- 博客(71)
- 收藏
- 关注
原创 tmux 终端复用器
这样,你的python 脚本将在一个独立的 tmux 会话中运行,并且所有的输出都会被保存到 output.log 文件中。即使你离开终端,脚本也会继续执行。tmux 是一个终端复用器(terminal multiplexer),它允许用户在一个终端窗口中创建多个独立的会话,每个会话可以包含多个窗口和面板。分离 tmux 会话(按 Ctrl+b 然后按 d)你的脚本将在后台继续运行,而你可以关闭终端。在 tmux 会话中运行你的 Python 脚本,并将输出重定向到 output.log 文件。
2025-02-07 19:14:36
197
原创 2025年的一些感悟
偶寄情于山水之间,纵情于男欢女爱,万卷书不好读,万里路也不好走,然尚未娶妻生子,不禁潸然泪下,奈何花有重开日,人无再少年。余幼时家贫,但仍不知上进,再回首青春年华,已说再见,多年八方谋业,东奔西跑,贪玩误学,缺乏志向,
2025-01-05 13:42:27
122
原创 RMSNorm规范化
RMSNorm 的数学公式计算均方根(RMS)。归一化输入。缩放归一化后的输出。RMSNorm 相对于传统的 Layer Normalization 更加稳定,尤其是在长序列处理中表现更优。
2024-12-10 12:08:36
972
原创 LLM输出评估标准
困惑度是基于概率模型的一个度量,用于评估模型对一组数据的拟合程度。具体来说,困惑度衡量的是模型在生成给定文本时的不确定性。ppl2−1N∑i1Nlog2Pwi其中:N是文本中词的数量Pwi是模型预测第i个词的概率\text{ppl} = 2^{-\frac{1}{N} \sum_{i=1}^{N} \log_2 P(w_i)} 其中:\\N 是文本中词的数量\\P(w_i) 是模型预测第i个词的概率ppl2−N1∑i1N。
2024-12-08 17:17:44
1195
原创 HTTP状态码记录
HTTP返回状态码用于指示HTTP请求的处理结果。:表示需要客户端采取进一步的操作才能完成请求。:表示请求已成功被服务器接收、理解,并接受。:表示服务器在处理请求的过程中发生了错误。:表示请求包含语法错误或无法完成请求。
2024-12-03 09:31:01
361
原创 jinaai/jina-embeddings-v2-base-zh向量模型报错解决
解决jinaai/jina-embeddings-v2-base-zh模型报错 We couldn't connect to 'https://huggingface.co' to load this file... configuration_bert.py.
2024-09-27 20:11:55
1002
1
原创 层规范化和批规范的两种比较
规范化(Normalization)在深度学习中是一个非常重要的概念,它在多个方面都有重要作用。下面我将详细分析规范化中的层规范化和批规范化。
2024-09-20 16:48:08
817
原创 LoRA训练推理部署流程
这是LoRA相关的第三篇文章上篇文章已经比较全面的讨论过了LoRA的一些配置和网络模型结构,本文主要从以下几个方面进一步看一下LoRA的微调、模型保存、加载和推理流程。文件simple_mlp.py,定义两层Linear,中间使用relu激活函数。模拟从一个10 维空间映射到2维空间。
2024-09-12 10:48:11
750
1
原创 LoRA微调模型结构可训参数和配置详解
1、构建一个简单的两层线性网络,加relu激活函数,在第一层Linear中使用LoRA策略,打印看下模型结构。复习Lora在第一层Lnear网络的结构,即在第一层旁增加lora策略。2、打印原始网络结构中可训练的参数和LoRA策略下的参数量。3、LoraConfig类的一些参数解释
2024-09-07 11:22:37
1260
原创 LoRA微调基础知识点
LoRA 通过在模型的某些层中添加额外的低秩矩阵,微调过程中,原始模型的大部分参数保持不变,只有这些额外的低秩矩阵被训练。高效微调大语言模型(Large Language Models, LLMs)的一种技术,主要是减少微调大型预训练模型的计算资源和时间。LoRA 只需要更新少量的低秩矩阵,而不是整个模型的权重,降低了微调过程中的计算资源和存储需求。LoRA 通过引入较少的新参数,有助于减少过拟合的风险,从而提高模型在新数据上的泛化能力。时,从而提高了微调的效率同时降低微调所需的资源。
2024-09-07 10:11:41
716
原创 递归获取给定文件后的所有文件路径
测试文件夹,新建文件夹test_path,文件夹里面新建a.txt、b.txt和c.md文件。给定文件路径和需要获取的文件后缀列表,递归获取文件路径和指定后缀拼接的文件名返回。在深度学习中总会遇到读取某一路径下的所有文件,并将其整理成文件路径列表的形式。
2024-09-05 14:56:46
282
原创 Linux上安装htop软件记录
报错信息 Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again。
2024-08-30 09:09:31
398
原创 streamlit 搭建LLM交互应用
本文主要讨论使用搭建一个可调节核心参数的LLM对话式应用。页面交互采用streamlit,模型推理部分采langchain和vllm两种部署推理框架。
2024-08-16 09:53:35
1250
原创 bert-base-chinese模型的完整训练、推理和一些思考
使用模型进行中文文本分类任务,使用THUCNews中文数据集进行训练,训练完成后,可以导出模型,进行预测。数据集下载地址Github完整代码。
2024-08-13 15:22:09
1548
原创 streamlit 使用
Streamlit 是一个用于快速构建数据科学和机器学习应用的 Python 库。它非常易于上手,只需要几行代码就可以创建出美观且交互式的 Web 应用。本仓还是为了学习使用streamlit,为后续搭建交互式LLM大模型做准备。本项目代码和运行部署,参考。
2024-08-10 11:53:44
316
原创 LLM的tokenizer方式解读
分词器的一些基础信息,比如词表大小vocab_size=151643,还有3个特殊符号151643、151644和151645等信息。最基础encode和decode,将文本转化为词表的id或者id序列转化为可阅读的文本字符串。在LLM处理中有很多关于tokenizer的方式,方便记忆理解,在此特意整理一下。transformers 版本 2.1.1。构造LLM模型可以识别的输入格式,直接调用。函数可以构造带有提示词模式的模型输入。模型的tokenizer为例。加载tokenizer。
2024-07-30 20:32:38
704
原创 git使用
将一个分支source-branch中的特定文件添加到另一个分支target-branch中,而不合并整个分支。2、清除本次commit的文件改动,新建文件会被删除,回到上一次提交文件的状态【谨慎操作】将分支branchA中的所有改变合并到另一个分支branchB中,同步两个分支的代码。1、仅是撤销commit提交,修改后的文件会保留在暂存区,改动不会消失。1、 进入要同步代码的分支,落后的分支branchB。取消本地的一些改变,会撤销文件的所有改变。修改远程仓库的3次提交记录。取消已经add的改动。
2024-07-14 16:19:41
297
原创 python连接mysql数据库生成测试数据
有时候在做业务逻辑的时候免不了要和数据库进行交互,在大量查询、更新数据的时候可以简单测试一下业务代码的执行效率。使用mysql-connector连接数据库可以快速简单的生成大量的测试数据,方便后续自己测试使用。此时就需要保持数据库表中有大量的测试数据。
2024-07-11 18:53:59
242
1
原创 Python类实例的json
当然我们可以根据查询出来的实例对象,构建一个dict返回,这样会导致我们的代码非常的臃肿。web开发中有这么一个场景,我们从数据库中查询某一数据的时候,往往需要对数据进行一些转化之后才能传给前端。此时还有一个问题,如果我们只想通过dict(对象)返回特定的属性如何操作呢?如果一个类的属性比较多,我们只想根据传参的集合来构架字典从而序列化如何做呢?此时你会看到类变量通过__dict__函数是不会被转化字典从而被序列化的。调用类的__dict__函数将类的一些属性转化字典进行序列化。函数中指定返回的集合即可。
2024-07-06 16:22:39
285
原创 Python with语句
它主要用于确保在代码块执行完毕后,正确地释放资源,例如文件操作、锁、网络连接等。语句确保文件在操作完成后会被正确关闭,即使发生异常也是如此。语句可以确保即使在发生异常的情况下,资源也能被正确地关闭和清理。我在刚接触python的这个语法的时候,会认为。一般是上下文协议的对象或者资源管理器中使用。语句就应该差不多了,为什么倒数第二行打印是。语句是一种用于简化资源管理的语法结构。好像都是前面对象本身的类型,那是因为。后来发现是我肤浅了。都是上下文或者资源管理器。变量是一个什么是东西?显然这是没有营养的~
2024-06-07 16:27:30
213
原创 bert模型数据集加载方式
上述代码主要通过加载bert-base-chinese模型的分词器处理原始数据,之后实现一个Dataset的子类将数据封装到PyTorch框架可识别数据结构。Dataset 类是PyTorch框架中用于处理数据的基本组件,它允许用户定义自己的数据集类,以满足特定任务的需求。方法来根据索引返回数据集中的一个样本,通常会包含数据的加载、解码等操作。方法来初始化数据集,可能需要加载数据、解析数据等。,它们是所有数据集必须实现的方法。方法来返回数据集中样本的数量。现记录一下PyTorch 的。
2024-05-28 16:38:54
632
原创 matplotlib绘图二
matplotlib版本:3.7.5numpy版本:1.24.3pandas版本:2.0.3本文主要记录matplotlib对pandas的绘图,matplotlib的绘图技巧参考这里。
2024-04-28 15:04:32
350
1
空空如也
rest-framework中model.objects.all()数据库加载问题
2024-09-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人