【python】python指南(二):命令行參數解析器ArgumentParser

?

一、引言?

對于算法工程師來說,語言從來都不是關鍵,關鍵是快速學習以及解決問題的能力。大學的時候參加ACM/ICPC一直使用的是C語言,實習的時候做一個算法策略后臺用的是php,畢業后做策略算法開發,因為要用spark,所以寫了scala,后來用基于storm開發實時策略,用的java。至于python,從日常用hive做數據策略用python寫udf,到基于tensorflow深度學習框架寫python版的模型網絡,再到現在實用pytorch做大模型。眼看著在語言紛爭中,python的應用越來越廣,開一個單獨的專欄用于記錄python中常用到的技巧,算是做筆記,沒事翻出來看看。

本文重點介紹python中的參數解析器(ArgumentParser)。

二、參數解析器(ArgumentParser)

2.1 概述

在Python中,ArgumentParser用于定義和讀取命令行輸入的參數,在運行python文件時對命令行參數進行解析處理。

2.2 代碼示例

from argparse import ArgumentParserdef _get_args():parser = ArgumentParser()parser.add_argument("-c", "--checkpoint-path", type=str, default=DEFAULT_CKPT_PATH,help="Checkpoint name or path, default to %(default)r")parser.add_argument("--cpu-only", action="store_true", help="Run demo with CPU only")parser.add_argument("--share", action="store_true", default=False,help="Create a publicly shareable link for the interface.")parser.add_argument("--inbrowser", action="store_true", default=False,help="Automatically launch the interface in a new tab on the default browser.")parser.add_argument("--server-port", type=int, default=18003,help="Demo server port.")parser.add_argument("--server-name", type=str, default="127.0.0.1",help="Demo server name.")parser.add_argument("-g","--gpus",type=str,default="auto",help="set gpu numbers")args = parser.parse_args()return argsdef main():args = _get_args()model, tokenizer = _load_model_tokenizer(args)if __name__ == '__main__':main()

這是一個大模型web_demo.py的參數讀取樣例:先通過?ArgumentParser類聲明一個解析器對象parser,采用add_argument(加參數)方法將參數加入到解析器parser中,最后parser調用parse_args(解析參數)方法將參數提取、返回。參數傳入后續的函數進行應用。

重點在于add_argument方法的參數:

"-c":一個"-"代表命令命令行指定命令的縮寫,這個后面跟進要輸入的內容

"--checkpoint-path":兩個"--"后面跟著參數的名字,args.checkpoint-path即可使用該參數

"type=str":參數類型

"default=DEFAULT_CKPT_PATH":參數默認值

"action="store_true"":如果命令行輸入了該參數,該參數即為true,不加為default中的默認值,帶有這個的參數主要為true、false判別類參數。

"help="Checkpoint name or path, default to %(default)r")":help,注釋。

三、總結

命令行參數解析器ArgumentParser通常為python代碼的第一道關,在main()中聲明或定義。使用該方法可以輕松的讀取命令行的參數,構造帶有命令行參數的python腳本。

《AI—工程篇》

AI智能體研發之路-工程篇(一):Docker助力AI智能體開發提效

AI智能體研發之路-工程篇(二):Dify智能體開發平臺一鍵部署

AI智能體研發之路-工程篇(三):大模型推理服務框架Ollama一鍵部署

AI智能體研發之路-工程篇(四):大模型推理服務框架Xinference一鍵部署

AI智能體研發之路-工程篇(五):大模型推理服務框架LocalAI一鍵部署

《AI-模型篇》

AI智能體研發之路-模型篇(一):大模型訓練框架LLaMA-Factory在國內網絡環境下的安裝、部署及使用

AI智能體研發之路-模型篇(二):DeepSeek-V2-Chat 訓練與推理實戰

AI智能體研發之路-模型篇(三):中文大模型開、閉源之爭

AI智能體研發之路-模型篇(四):一文入門pytorch開發

AI智能體研發之路-模型篇(五):pytorch vs tensorflow框架DNN網絡結構源碼級對比

AI智能體研發之路-模型篇(六):【機器學習】基于tensorflow實現你的第一個DNN網絡

AI智能體研發之路-模型篇(七):【機器學習】基于YOLOv10實現你的第一個視覺AI大模型

AI智能體研發之路-模型篇(八):【機器學習】Qwen1.5-14B-Chat大模型訓練與推理實戰?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/24557.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/24557.shtml
英文地址,請注明出處:http://en.pswp.cn/web/24557.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

24考研408大變化,25考研高分上岸規劃+應對策略

巧了,我有現成的經驗: 數學和專業課的成績都不高不低,剛好夠用,其實408想上岸,不僅僅要學好408,還要學好考研數學,這是我的肺腑之言,我復試的時候,我知道的那些沒有進復試…

高通SDX12:Voice Over USB 功能調試

一、功能概述及使用環境 Linux PC 作為上位機,內置 SLIC基于高通 SDX12 平臺的設備作為從設備,通過USB連接到 Linux PC 上,在 PC 上枚舉 UAC 設備從設備進行 MO/MT Call 時,上位機使用 arecord 進行錄音,音頻數據通過 USB 傳至上位機,上位機停止錄音后再使用 aplay 進行播…

vue element 接口返回數據與控制臺打印數據不一致 踩坑

問題描述: 接口返回數據正常,,控制臺打印不對,element el-switch表格中使用,控制臺打印數據被改變 如下正常數據 數據id 17狀態是0 控制臺打印狀態卻是1 造成原因: element el-seitch組件修改了狀態 修…

解決方案:昇騰aarch64服務器安裝CUDA+GCC+CMake,編譯安裝Pytorch,華為昇騰HPC服務器深度學習環境安裝全流程

目錄 一、安裝CUDA和cudnn1.1、下載CUDA驅動1.2、安裝CUDA驅動1.3、配置環境變量1.4、安裝cudnn1.5、安裝magma-cuda 二、安裝gcc編譯器三、安裝CMake四、安裝NCCL五、編譯安裝Pytorch5.1、前提準備5.2、下載pytorch源碼5.3、配置環境變量5.4、Pytorch編譯安裝5.5、測試Pytorch…

Python教程:Python操作MySQL基礎使用

8、Python操作MySQL基礎使用 8.1 安裝pymysql pip install pymysql8.2 測試連接 測試代碼 from pymysql import Connection# 獲取到MySQL數據庫的鏈接對象 conn Connection(# 主機名hostlocalhost,# 端口號,默認3306port3306,# 賬戶名userroot,# 密碼password3535 )# 打印…

日志分析集群最新版

日志分析集群-8版本 作者:行癲(盜版必究) 第一部分:Elasticsearch 一:環境準備 1.簡介 ? 部署模式:es集群采用無主模式 ? es版本:8.13.4 ? jdk版本:使用es內嵌的jdk21&#x…

GAT1399協議分析(10)--單圖像刪除

一、官方接口 由于批量刪除的接口,圖像只能單獨刪除。 二、wireshark實例 這個接口比較簡單,調用request delete即可 文本化: DELETE /VIID/Images/34078100001190001002012024060513561300065 HTTP/1.1 Host: 10.0.201.56:31400 User-Age…

【sklearn】【邏輯回歸1】

學習筆記來自: 所用的庫和版本大家參考: Python 3.7.1Scikit-learn 0.20.1 Numpy 1.15.4, Pandas 0.23.4, Matplotlib 3.0.2, SciPy 1.1.0 1 概述 1.1 名為“回歸”的分類器 在過去的四周中,我們接觸了不少帶“回歸”二字的算法&#xf…

生物神經網絡 原理分析研讀02

可能有用基礎介紹 人類交互1 大腦視覺的處理過程 人類交互2 聽覺處理和語言中樞 人類交互3 皮膚感覺與運動系統 人類交互4 感覺輸入和運動輸出 人類交互5 大腦信號編碼與解碼 相關材料分析研讀 當前為了實現人工智能的兩個主流技術是深度學習和類腦計算,深度學習…

linux防止nmap掃描

1、首先關閉Centos7自帶的firewalld [rootnode ~]# systemctl disable firewalld.service && systemctl stop firewalld.service 2、安裝iptables服務 [rootnode ~]# yum install iptables-services iptables-devel -y [rootnode ~]# systemctl enable iptables …

【Vue】練習-Vuex中的值和組件中的input雙向綁定

目標 實時輸入&#xff0c;實時更新&#xff0c;鞏固 mutations 傳參語法 實現步驟 代碼示例 App.vue <input :value"count" input"handleInput" type"text"> <script>export default {methods: {handleInput (e) {// 1. 實時獲取…

MyQL 事務隔離級別解析

隔離級別臟讀不可重復讀幻讀未提交讀可能可能可能已提交讀不可能可能可能可重復讀不可能不可能可能可串行化不可能不可能不可能 當我們談論數據庫事務的隔離級別時&#xff0c;經常會聽到“臟讀”、“不可重復讀”和“幻讀”這三個術語。下面我會盡量用通俗的語言來解釋它們&a…

分布式Shiro,SpringBoot項目Shiro整合Redis

分布式Shiro&#xff0c;SpringBoot項目Shiro整合Redis 重要 Begin 你的SpringBoot項目已經使用了Shiro&#xff0c;并且可以正常使用。本篇文章的主要目的是將Shiro保存在服務器內存中的session信息改為使用Redis保存session信息 重要 End 正文開始 0、前情概要 由于shiro…

Python通過數據驗證功能在Excel文件中創建下拉列表

Excel表格的靈活性和功能性深受各行各業人士的喜愛。在Excel表格中&#xff0c;下拉列表功能是提升數據錄入效率與準確性的一個重要利器&#xff0c;能夠為用戶提供預設的選擇項&#xff0c;限制輸入范圍&#xff0c;避免手動輸入錯誤&#xff0c;還能夠簡化數據錄入過程&#…

Rust : windows下protobuf嘗試

此前dbpystream庫是用python開發 web api。今天在rust中試用一下protobuf。 一、 protobuf編譯器下載 具體見相關文章。沒有編譯器&#xff0c;protobuf無法運行。 windows參見&#xff1a; https://blog.csdn.net/wowotuo/article/details/139458846?spm1001.2014.3001.550…

推薦系統三十六式學習筆記:原理篇.內容推薦05|從文本到用戶畫像有多遠?

目錄 從文本開始構建用戶畫像一、結構化文本1、TF-IDF2、TextRank3、內容分類&#xff1a;4、實體識別5、聚類6、詞嵌入 二、標簽選擇1、卡方檢驗2、信息增益 總結 對于一個早期的推薦系統來說&#xff0c;基于內容推薦離不開用戶構建一個初級的畫像&#xff0c;這種初級的畫像…

【數據結構】棧的應用

目錄 0 引言 1 棧在括號匹配中的應用 2 棧在表達式求值中的應用 2.1 算數表達式 2.2 中綴表達式轉后綴表達式 2.3 后綴表達式求值 3 棧在遞歸中的應用 3.1 棧在函數調用中的作用 3.2 棧在函數調用中的工作原理 4 總結 0 引言 棧&#xff08;Stack&#xff09;是一…

MySQL A表的字段值更新為B表的字段值

MySQL A表的字段值更新為B表的字段值 準備數據表 create table person (id int unsigned auto_increment comment 主鍵 primary key,uuid varchar(32) not null comment 系統唯一標識符32個長度的字符串,mobile varchar(11) null comment 中國國內手機號,nickn…

使用 Ollama 和 Open WebUI 自托管 LLM 聊天機器人(無需 GPU)

?點擊這里?&#xff1a;&#x1f680;原文鏈接&#xff1a;&#xff08;更好排版、視頻播放、社群交流、最新AI開源項目、AI工具分享都在這個公眾號&#xff01;&#xff09; 使用 Ollama 和 Open WebUI 自托管 LLM 聊天機器人&#xff08;無需 GPU&#xff09; &#x1f31…

二叉查找樹詳解

目錄 二叉查找樹的定義 二叉查找樹的基本操作 查找 插入 建立 刪除 二叉樹查找樹的性質 二叉查找樹的定義 二叉查找樹是一種特殊的二叉樹&#xff0c;又稱為排序二叉樹、二叉搜索樹、二叉排序樹。 二叉樹的遞歸定義如下&#xff1a; &#xff08;1&#xff09;要么二…