什么是glue code?
科普向:什么是胶水代码?为什么胶水代码不需要修改实质性逻辑?Glue code(胶水代码)是指用于把不同的软件组件、库、系统或模块“粘合”在一起,使它们能够协同工作的代码。它通常本身不是实现业务逻辑的核心部分,而是负责不同部分之间的对接、适配和调用。 主要特点 桥梁作用:连接两个或多个原本不兼容或相互独立的系统、库或模块。 适配/转换:可能包括参数格式转换、接口适配、协议兼容等。 非核心逻辑:不直接实现业务目标,而是保证各部分能正常协同。 常见于集成开发:如将第三方库集成到自己的项目、跨语言模块通信等场景。 示例 API包装器比如,用 Python 写一段代码,把 C 语言的库通过 ctypes/cffi 调用起来,这部分代码就是 glue code。 数据转换在前端和后端之间传递数据时,把后端的 JSON 数据转成前端可用的对象,这个转换代码也可以视作 glue code。 中间件在微服务架构中,不同服务通过中间件(如消息队列、API 网关)交互,中间件的适配代码也可称为 glue code。 作用 降低不同技术栈、语言、平台之间的集成难度。 提高现有组件复用,减少重...
python脚本传入参数
背景 在日常使用一些数据处理脚本以及训练模型的时候,使用传递参数很常见,因此对使用python进行参数传递的方式进行了整理 1.使用sys.argv的数组进行传参使用sys.argv必须按照先后的顺序传入对应的参数;sys.argv则封装了传入的参数数据,作为数组的方式进行传入。 1234567891011import sysprint('传入参数:', sys.argv)print("传入参数的总长度为:", len(sys.argv))print("type:", type(sys.argv))print("function name:", sys.argv[0])try: print("第一个传入的参数为:", sys.argv[1]) print("第二个传入的参数为:", sys.argv[2])except Exception as e: print("Input Error:...
基于Transformers库的命名实体识别
step1 导入相关包123import evaluatefrom datasets import load_datasetfrom transformers import AutoTokenizer, AutoModelForTokenClassification, TrainingArguments, Trainer, DataCollatorForTokenClassification step2 加载数据集123from datasets import DatasetDictner_datasets = DatasetDict.load_from_disk("ner_data")ner_datasets 输出:DatasetDict({ train: Dataset({ features: [‘id’, ‘tokens’, ‘ner_tags’], num_rows: 20865 }) validation: Dataset({ features: [‘id’, ‘tokens’, ‘ner_...
编码注意力机制的梳理(自用-分享)
编码注意力机制的梳理(自用-分享) 目前主流的大语言模型都是基于Transformer架构的,而Transformer架构的核心是Attention机制,所以了解Attention机制对于理解Transformer架构至关重要。 1.长序列建模中问题过去在处理序列文本等数据时,大多采用RNN等模型,虽然部分应用场景下RNN模型的效果不错,但是面对长序列数据时,存在遗忘问题,从而导致对长序列模型建模时效果不是很好。因此,在2017年,Transformer模型应运而生,Transformer模型在长序列建模中,通过引入Attention机制,解决RNN模型中的遗忘问题,并大大提高模型的效果。 2.过去编码器-解码器模型存在问题由于之前编码器-解码器模型,主要还是基于RNN模型,编码器生成整个文本的编码向量,再将这个编码向量输入给解码器,解码器基于编码向量生成输出预测,但是由于存在长距离遗忘信息丢失问题,编码向量会丢失长文本前段的信息,从而导致预测效果不好。然后注意力机制可以很好的解决这个问题,注意力机制可以捕获较长的依赖关系,获得更准确的编码向量表示。 1...
python包的安装和环境配置总结
1、查看自己CUDA版本号1nvidia-smi 2. 安装torch\torchvision\torchaudio三大组件包下载管理站1 # 该链接貌似已失效包下载管理站2 # 阿里镜像站可用 首先选择torch,ctrl + F 搜索 [cu102-cp38-cp38-win] 这里cu102 是我们下载的 CUDA 10.2 版本,cp38-cp38 是说我们的 Python 版本是 3.8。如果要安装python3.9那将cp3.8改为cp3.9即可。 需要注意的是 python版本号 CUDA版本号 以及 系统是我们需要的。 3.CONDA环境配置例如: 1conda create -n xxx python=3.9 然后在终端执行命令: 1conda activate xxx 4、pip WHL文件执行下面的命令安装轮子 1pip xxx.whl 以上就是配置环境的简明教程 torch_geometric安装torch_geometric是PyG中必不可少的一个包,也是进行图神经网络学习的必备,然而安装这个包并运行一段简单的代码踩了不少坑,记录一下。 执行以下命令,先...