python异常捕获及处理
Python异常捕获与处理Exception例如: 1234567891011121314151617import osimport PyPDF2import docxclass DocumentReader: @staticmethod def read_pdf(file_path): try: with open(file_path, 'rb') as file: reader = PyPDF2.PdfReader(file) text = "" for page in reader.pages: text += page.extract_text() return text except Exception as e: print(f"读取PDF文件时出错:...
python杂项函数/用法积累(持续更新)
三元表达式以及其在字符串格式化中的运用 基本语法:value_if_true if condition else value_if_false 使用情况: condition是一个布尔表达式,值为true或者false 一句话说完怎么用:中间为true,返回左边,为false,返回右边 比如: 1234567891011121314151617181920212223from PyPDF2 import PdfReaderimport os# 打开文档pdf_path = os.path.abspath('text.pdf')with open(pdf_path, 'rb') as f: pdf = PdfReader(f) # 获取文档信息,注意这里原来是.getDocumentInfo,现在直接使用属性访问 information = pdf.metadata # 获取页数,原来的 getNumPages 已弃用,使用 len(pdf.pages) number_of_pages =...
新加入的token的初始化相关说明
模型嵌入层和权重矩阵关系的理解模型的词嵌入层与权重矩阵在基于 Transformer 架构的预训练模型(如 BERT、GPT 等)中,词嵌入层(Embedding Layer)是模型处理输入文本的重要组件。它的主要作用是将离散的 token(例如单词、子词等)转换为连续的向量表示,以便模型能够对其进行数值计算。 词嵌入层有一个权重矩阵(weight),这个矩阵的形状通常是 (V, D),其中 V 是词汇表的大小,即分词器所能识别的所有 token 的数量;D 是嵌入向量的维度,也就是每个 token 对应的向量的长度。这个权重矩阵的每一行都对应着词汇表中一个特定 token 的嵌入向量。 通俗理解:每个词嵌入,即word_embedding,都是一个向量,从表现形式来看本质就是向量的坐标表示:如:[0.1, 0.3,...
自然语言处理
自然语言处理有关Word2Vec 模型详细见这篇文章: Word2Vec 模型 我只说两个点: 该模型采用创新的两种CBOW和Skip-gram训练方式 前者是前后文推该词 后者是该词推前后文 使用检查上下文相关性的方法来解决多义词问题 Transformer模型和LSTM模型的比较主要来看前者的优势: Transformer 编码器相较于 LSTM 模型的进步: 并行计算能力 LSTM 的局限:LSTM 是基于序列顺序进行计算的,每个时间步的计算都依赖于前一个时间步的状态,这使得它难以进行并行计算,在处理长序列数据时计算速度较慢。例如在处理长篇小说这样的长文本时,LSTM 需要逐个时间步地处理每个词,无法同时对多个时间步进行计算。 Transformer 的优势:Transformer 编码器采用了自注意力机制,它可以并行地计算每个位置与其他位置之间的依赖关系,无需按照顺序依次处理。这使得 Transformer...
python程序运行启动代码
常规程序启动入口__name__启动程序123if __name__ = '__main__' : data : dict = load_toml() pprint(data,sort_dics=False) 代码逐行解释if __name__ == '__main__': __name__ 变量: 在 Python 中,每个模块(即.py文件)都有一个内置的__name__变量。这个变量的值取决于模块是如何被使用的。 当一个 Python 脚本作为主程序直接运行时,例如在命令行中使用 python script.py 来执行脚本,该脚本的 __name__ 变量会被自动设置为 '__main__'。 当一个 Python 脚本作为模块被其他脚本导入时,例如在 another_script.py 中使用 import script,那么 script.py 模块的 __name__ 变量会被设置为该模块的名称(即 'script')。 条件判断:if __name__ ==...
python中对模块的引入
python中对模块引入的辨析import..from和import的差异首先我们要说明: 依赖库里面是有很多个,模块的,我在今天学习的tomllib是自带模块的其中之一罢了: from tomllib import * 的情况当使用 from tomllib import * 语句时,确实会将 tomllib 模块中所有定义的公共对象(函数、类、变量等)直接导入到当前 .py 文件的命名空间中。导入之后,在当前文件里可以直接使用这些对象,无需再加上模块名作为前缀。不过,这种导入方式存在命名冲突的风险。 例如,假设 tomllib 模块中有一个 load 函数,同时你的当前文件中也定义了一个名为 load 的函数,使用 from tomllib import * 导入后,tomllib 中的 load 函数可能会覆盖你自己定义的 load 函数,或者反之,从而导致意外的结果。示例如下: 123456789# 假设 tomllib 模块中有 load 函数from tomllib import *# 假设当前文件中也定义了一个 load 函数def load(): ...
python读取文件
读取文件使用with方法读取文件1234import tomllibwith open('./config.toml', 'rb') as f: data = tomllib.load(f) 把打开的文件对象赋值给 f,并不是将以二进制形式只读打开后的文件内容赋值给 f,下面为你详细解释。 文件对象的概念在 Python 里,当使用 open() 函数打开一个文件时,它会返回一个文件对象。文件对象可以理解为是 Python 程序与实际存储在磁盘上的文件之间的一个 “桥梁” 或者 “通道”,借助这个文件对象,我们可以对文件执行各种操作,像读取文件内容、向文件写入内容等。 **相当于意思就是:**当我们使用open对一个文件打开之后,那就是我们告诉代码,我们已经选中这个文件了哦,把它赋值给f,意思就是: f代表了这个已经被二进制形式打开的文件 赋值操作的含义with open('./config.toml', 'rb') as f: 这行代码中的 as f,是把 open()...
toml配置文件
toml配置文件有关输出的简单例子:123456789101112131415import tomllibfrom pprint import pprintdef load_toml() -> dict: with open('./config.toml', 'rb') as f: toml_data: dict = tomllib.load(f) return toml_dataif __name__ == '__main__': data: dict = load_toml() pprint(data,...
训练
训练ai下载资源1.u need to use the google colab2.unsloth notebook:https://colab.research.google.com/drive/1Ys44kVvmeZtnICzWz0xgpRnrIOjZAuxp dataset unslothweightdataset processinghuggface