parser.add_argument("--num_classes", default=1, type=int, required=True)
使用 Python argparse:如何處理命令列參數
一、前言
argparse是python的一個命令列參數解析包,在程式碼需要頻繁修改參數時,方便使用,主要用法就是在命令列輸入自己想要修改的參數。
二、關於argparse用法常用框架
import argparse def get_parser(): # argparse.ArgumentParser生成argparse对象 description为描述信息,当在命令行输入需要显示帮助信息时,会显示 parser = argparse.ArgumentParser(description="pytorch unet training") # 路径参数设置 help为参数的帮助信息 parser.add_argument("--data_path", default="./", help="DRIVE root") # 预测类别数量 type如果不指定需要输入的是str类型 parser.add_argument("--num_classes", default=1, type=int) # 指定设备使用 parser.add_argument("--device", default="cuda", help="training device") # 指定batch size大小 "-b", "--batch_size"表示两个都可以在命令行使用 parser.add_argument("-b", "--batch_size", default=4, type=int) return parser if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print(args)
如上get_parser()為本文會介紹的一些使用方法,這個python檔案名為python_argparse_test1.py,其中
#parser = argparse.ArgumentParser(description="pytorch unet training")用來建立parser物件
add_argument()用來增加參數
args = parser.parse_args()中parse_args()取得解析的參數
1.取得參數清單
當命令列輸入python python_argparse_test1.py時,印出args取得到的參數得到:
Namespace(batch_size=4, data_path ='./', device='cuda', num_classes=1)
表示這個參數解析器解析到的參數清單
2.取得幫助資訊
輸入python python_argparse_test1.py -h或者python python_argparse_test1.py --help顯示信息,其中usage顯示了它的用法,pytorch unet training為創建對象時的description,再下面是各個參數信息與用法
3.命令列修改參數
import argparse def get_parser(): # argparse.ArgumentParser生成argparse对象 description为描述信息,当在命令行输入需要显示帮助信息时,会显示 parser = argparse.ArgumentParser(description="pytorch unet training") # 路径参数设置 help为参数的帮助信息 default为默认参数 parser.add_argument("--data_path", default="./", help="DRIVE root") # 预测类别数量 type如果不指定需要输入的是str类型 parser.add_argument("--num_classes", default=1, type=int) # 指定设备使用 parser.add_argument("--device", default="cuda", help="training device") # 指定batch size大小 "-b", "--batch_size"表示两个都可以在命令行使用 parser.add_argument("-b", "--batch_size", default=4, type=int) return parser if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("data_path: ",args.data_path) print("num_classes: ", args.num_classes)
命令列輸入:python python_argparse_test1.py --data_path Desktop --num_classer 4,得到結果如下:
data_path: Desktop
num_classes: 4
#可以看到透過命令列確實修改了參數
4.'_'與"__"的使用
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("-b: ",args.b) print("--batch_size: ", args.batch_size)
命令列輸入python python_argparse_test1.py -b 10 --batch_size 20,這時會報錯:
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size: ",args.batch_size)
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size type: ",type(args.batch_size))
parser.add_argument("--num_classes", default=1, type=int, required=True)
登入後複製
如果輸入指令python python_argparse_test1.py這將會報錯提示確實需要的參數python_argparse_test1.py: error: the following arguments are required: --num_classesparser.add_argument("--num_classes", default=1, type=int, required=True)
7.choices選擇參數
parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])
登入後複製如果執行指令:python python_argparse_test1.py -arch cnn
parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])
##這將會報錯
python_argparse_test1.py: error: argument -
#python_argparse_test1.py: error: argument - arch: invalid choice: 'cnn' (choose from 'alexnet', 'vgg')以上是使用 Python argparse:如何處理命令列參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。
