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中必不可少的一个包,也是进行图神经网络学习的必备,然而安装这个包并运行一段简单的代码踩了不少坑,记录一下。 执行以下命令,先...
解决 pip 开了网络代理之后无法安装python包的问题
问题描述:开了网络代理后,无法在终端直接使用pip和conda命令,会报错:12345678910$ pip install netsmLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleWARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))': /simple/netsm/WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFE...
vscode上一种优雅的debug方式
vscode 如何debug python torchrun deepspeed[自用,防忘记]⚠️ 写在前面(一定要看) debug程序的方式有很多种。每一种方式都各有缺点:有的方式虽然优雅,但是局限性很大;有的方式麻烦,但是局限性小。 常规方式: 优点:然后可以观察所有线程。一劳永逸。 缺点:就是写参数很麻烦,但是你可以让chatgpt等大模型帮你写。 最最最优雅的方式: 优点:就是需要在代码里面,加入几行代码。方便快捷。 缺点:有时候断点不生效,只能在一个线程里面启动。 建议先使用【常规形式】、如果【常规形式】不够用,再使用【最最最优雅的方式】 B站手把手视频 常规方式:https://www.bilibili.com/video/BV1Hh4y1i7Li 对于torchrun这种形式:https://www.bilibili.com/video/BV1b84y1R75V 对于deepspeed这种形式: https://www.bilibili.com/video/BV1xC4y1P7LH 最最最优雅的方式:https://www.bilibili.co...