argparse は Python 用のコマンド ライン パラメータ解析パッケージで、コードでパラメータを頻繁に変更する必要がある場合に使用すると便利です。主な使用法は、コマンドラインで変更したいパラメータを入力することです。
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") はパーサー オブジェクトの作成に使用されますadd_argument() はパラメーターの追加に使用されますargs = parse_args( ) parser.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 --help」と入力すると、情報が表示されます。「usage」はその使用方法を示します。「pytorch unet training」はオブジェクト作成時の説明です。以下は各パラメータの情報と使用法 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)
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("-b: ",args.b) print("--batch_size: ", args.batch_size)
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size: ",args.batch_size)ただし、コマンド ラインは影響を受けません。引き続きコマンド python python_argparse_test1.py -b 10 を実行して、--batch_size: 105 を取得します。usage
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size type: ",type(args.batch_size))コマンド ライン入力: python python_argparse_test1 .py --batch_size '10' 取得: --batch_size type :
parser.add_argument("--num_classes", default=1, type=int, required=True)
## を入力した場合#これにより、実際に必要なパラメータの入力を求めるエラーが報告されます
python_argparse_test1.py: エラー: 次の引数が必要です: --num_classes
7.choicesSelect パラメータ
parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])
これはエラーを報告します
python_argparse_test1.py: エラー: 引数 - アーチ: 無効な選択肢: 'cnn' (次から選択してください) 'alexnet'、'vgg')
以上がPython argparse の使用: コマンド ライン引数の処理方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。