LLM - argparse 解析脚本参数

文章讲述了如何通过argparse模块在Python中解析和管理shell脚本中的参数,提供示例以指导实际操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.引言

二.argparse 解析 shell 参数

1.使用步骤

2.python 侧示例

3.shell 侧示例


一.引言

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage pt \
    --model_name_or_path path_to_your_model \
    --do_train \
    --dataset wiki_demo \
    --template default \
    --finetuning_type lora \
    --output_dir path_to_pt_checkpoint \
    --overwrite_cache \
    --per_device_train_batch_size 4 \
    --gradient_accumulation_steps 4 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 1000 \
    --learning_rate 5e-5 \
    --num_train_epochs 3.0 \
    --plot_loss \
    --fp16

最近微调大模型时经常需要用 shell 脚本传很多参数,发现大家都在使用 argparse 类,下面整理一下 argparse 的基础用法。

二.argparse 解析 shell 参数

1.使用步骤

- 导入 argparse 模块

import argparse

- 创建 AgrumentParse 对象

parser = argparse.ArgumentParser()

- 添加待解析参数 [以解析 --input 参数为例]

parser.add_argument('--input', help='输入文件', default='input.txt')

 - 解析命令行参数

args = parser.parse_args()

- 使用解析后的参数

input_file = args.input

2.python 侧示例

import argparse

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--input', help='输入文件')
    parser.add_argument('--output', help='输出文件')
    args = parser.parse_args()

    input_file = args.input
    output_file = args.output

    # 在这里使用解析后的参数进行进一步的处理
    print(f'输入文件:{input_file}')
    print(f'输出文件:{output_file}')

if __name__ == '__main__':
    main()

注意需要调用 parse_args() 才能获取相关的解析参数。

3.shell 侧示例

python script.py --input input.txt --output output.txt

当参数多了可以隔行传参,比较清晰: 

python script.py \
    --input input.txt \
    --output output.txt

执行上述脚本后得到:

输入文件:input.txt
输出文件:output.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BIT_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值