


Utilisation de Python argparse : comment gérer les arguments de ligne de commande
1. Introduction
argparse est un package d'analyse de paramètres de ligne de commande pour Python. Il est pratique à utiliser lorsque le code doit modifier fréquemment les paramètres. L'utilisation principale est de saisir les paramètres que vous souhaitez modifier sur la commande. doubler.
2. À propos des frameworks courants pour l'utilisation d'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)
Comme mentionné ci-dessus, get_parser() fait partie des méthodes d'utilisation présentées dans cet article. Le nom de ce fichier python est python_argparse_test1.py, où
parser = argparse. ArgumentParser(description="pytorch unet training" ) est utilisé pour créer un objet analyseur
add_argument() est utilisé pour ajouter des paramètres
args = parser.parse_args() dans parse_args() pour obtenir les paramètres analysés
1. la liste des paramètres
Lorsque la ligne de commande entre python python_argparse_test1.py , imprimez les paramètres obtenus par args et obtenez :
Namespace(batch_size=4, data_path='./', device='cuda', num_classes=1)
indique la liste des paramètres analysés par cet analyseur de paramètres
2. Obtenez des informations d'aide
Entrez python python_argparse_test1.py -h ou python python_argparse_test1.py --help pour afficher les informations, où l'utilisation montre son utilisation, la formation pytorch unet est la description lors de la création de l'objet, et ci-dessous se trouvent les informations et l'utilisation de chaque paramètre
3. Paramètres de modification de la ligne de commande
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)
Entrée de la ligne de commande : python python_argparse_test1.py --data_path Desktop --num_classer 4, les résultats sont comme suit :
data_path : Desktop
num_classes : 4
Vous pouvez voir à travers La ligne de commande a en effet modifié les paramètres
4 L'utilisation de '_' et "__"
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("-b: ",args.b) print("--batch_size: ", args.batch_size)
Les entrées de ligne de commande python python_argparse_test1. .py -b 10 --batch_size 20, et une erreur sera signalée :
En effet, lorsque '_' et '__' existent en même temps, le système utilise par défaut ce dernier comme nom de paramètre
Changez le code ci-dessus en :
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size: ",args.batch_size)
Mais la ligne de commande n'est pas affectée, continuez à exécuter la commande python python_argparse_test1.py -b 10 et obtenez :
--batch_size : 10
5 Type utilisation
type will. forcer la conversion des caractères de ligne de commande d'entrée en type de type
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size type: ",type(args.batch_size))
Entrée de ligne de commande : python python_argparse_test1.py --batch_size '10' obtient :
--batch_size type :
6.required : Utilisé pour indiquer si ce paramètre doit être fourni
parser.add_argument("--num_classes", default=1, type=int, required=True)
Si vous entrez la commande python python_argparse_test1.py
Cela signalera une erreur indiquant que les paramètres sont effectivement requis
python_argparse_test1.py : erreur : ce qui suit les arguments sont requis : --num_classes
7.choicesSelect paramètres
parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])
Si vous exécutez la commande : python python_argparse_test1.py -arch cnn
Cela signalera une erreur
python_argparse_test1.py : erreur : argument -arch : choix invalide : 'cnn' (choisissez parmi 'alexnet', 'vgg')
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Exécutez pipinstall-rrequirements.txt pour installer le package de dépendance. Il est recommandé de créer et d'activer l'environnement virtuel d'abord pour éviter les conflits, s'assurer que le chemin du fichier est correct et que le PIP a été mis à jour et utiliser des options telles que --No-Deps ou --User pour ajuster le comportement d'installation si nécessaire.

TheargParsemoduleisthereComMendwaytoHandleCommand-lineargumentsInpython, fournissantRobustParsing, Typevalidation, HelpMessages, AnderrorHling; usys.argvforsimplécasesrequiringminimalsepup.

Python est un outil de test simple et puissant dans Python. Après l'installation, les fichiers de test sont automatiquement découverts en fonction des règles de dénomination. Écrivez une fonction commençant par test_ pour les tests d'assurance, utilisez @ pytest.fixture pour créer des données de test réutilisables, vérifiez les exceptions via PyTest.Rais, prend en charge l'exécution de tests spécifiés et plusieurs options de ligne de commande et améliore l'efficacité des tests.

Pour les débutants en science des données, le cœur du saut de "l'inexpérience" à "l'expert de l'industrie" est une pratique continue. La base de la pratique est les ensembles de données riches et diversifiés. Heureusement, il existe un grand nombre de sites Web sur Internet qui offrent des ensembles de données publiques gratuits, qui sont des ressources précieuses pour améliorer les compétences et affiner vos compétences.

Table des matières Qu'est-ce que la proposition d'amélioration du bitcoin (BIP)? Pourquoi le BIP est-il si important? Comment le processus BIP historique fonctionne-t-il pour la proposition d'amélioration du bitcoin (BIP)? Qu'est-ce qu'un signal de type BIP et comment un mineur l'envoie-t-il? La racine de racine et les inconvénients d'un essai rapide de la conclusion du BIP - des améliorations de Bitcoin ont été apportées depuis 2011 par le biais d'un système appelé Bitcoin Improvement Proposition ou «BIP». Bitcoin Improvement Proposition (BIP) fournit des lignes directrices sur la façon dont le bitcoin peut se développer en général, il existe trois types possibles de BIP, dont deux sont liés aux changements technologiques de Bitcoin chaque BIP commence par des discussions informelles parmi les développeurs de Bitcoin qui peuvent rassembler n'importe où, y compris TWI

L'analyse des mégadonnées doit se concentrer sur le CPU multi-core, la mémoire de grande capacité et le stockage à plusieurs niveaux. Les processeurs multi-core tels qu'AmDepyc ou RyzentHreadripper sont préférés, en tenant compte du nombre de cœurs et de performances monocomes; La mémoire est recommandée pour commencer avec 64 Go et la mémoire ECC est préférée pour assurer l'intégrité des données; Le stockage utilise NVMESSD (système et données chaudes), SATASSD (données communes) et disque dur (données froides) pour améliorer l'efficacité globale de traitement.

Importer @ contextManagerfromContextLibandDeFineAgeneratorFonctionnement toTyieldSexactlyOnce, où les actes de championnalsAnterAndCodeLifteryiel

Identifiez la répétitivetasksworthautomating, tels organisationfilesorSensemberSeMails, se concentrant sur le plan de la forme
