模型训练----parser.add_argument添加配置参数

本文介绍了如何在Python脚本中通过`defparse_option()`添加`--open_wandb`开关,将其添加至config并实现在程序中动态引用。适合深度学习开发者了解配置管理技巧。

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

现在需要配置参数来达到修改训练的方式,我现在需要新建一个参数来开关wandb的使用。

首先就是在def parse_option():函数里添加上你要使用的变量名
parser.add_argument("--open_wandb",type= bool,default=False,help='open wandb')
file
到config文件里增加你的变量
file

最后在到config后边将这两个变量的值连接起来
file
你就可以在程序你使用这个config.TRAIN.OPEN_WANDB变量了
file

遇到问题

在使用的过程中发现无论我在终端输入的是True还是False,打印出的config的都不是我想要的.
这是因为 argparse 不会自动解析命令行参数为布尔值。即使你将 type=bool 设置为 bool,argparse 仍然会将命令行输入解析为字符串。为了解决这个问题,可以使用布尔开关 store_true 或 store_false 动作来明确地指定布尔值。

具体修改方法

使用store_true这种方法,无需检查 None,因为 store_true 或 store_false 会确保参数值为布尔值。

#1.在config中添加open_wandb
_C.TRAIN.OPEN_WANDB = False
#直接赋值即可,不用判断
config.TRAIN.OPEN_WANDB = args.open_wandb
#2. 在main中添加
parser.add_argument("--open_wandb",action='store_true',default=False,help='hello')

当你在终端中不输入 -- open_wandb时它的值是默认的false,当你输入-- open_wandb true他检测到有任意输入就会吧值设置为true

点击访问博客查看更多内容
import argparse def args_parser(): parser = argparse.ArgumentParser() ### new parser.add_argument('--exp', type=str, default='VEIN/UNET_FL', help='experiment_name') parser.add_argument('--labeled_num', type=int, default=1000, help='labeled data') parser.add_argument('--model', type=str, default='unet_fl', help='model_name') parser.add_argument('--num_classes', type=int, default=2, help='output channel of network') parser.add_argument('--gpu', type=str, default='0,1', help='GPU to use') parser.add_argument('--deterministic', type=int, default=1, help='whether use deterministic training') parser.add_argument('--seed', type=int, default=1337, help='random seed') parser.add_argument('--root_path', type=str, default='/data3/vein/vein-train-1000-480-640', help='dataset root dir') parser.add_argument('--num_users', type=int, default=10, help='local epoch') parser.add_argument('--batch_size', type=int, default=4, help='batch_size per gpu') parser.add_argument('--base_lr', type=float, default=1e-4, help='segmentation network learning rate') parser.add_argument('--max_iterations', type=int, default=1000, help='maximum epoch number to train') parser.add_argument('--rounds', type=int, default=50, help='local epoch') parser.add_argument('--local_ep', type=int, default=1, help='local epoch') parser.add_argument('--dataset_seg', type=str, default='vein', help='dataset') parser.add_argument('--in_chan', type=int, default=1, help='input channel') parser.add_argument('--base_chan', type=int, default=32, help='base channel') parser.add_argument('--out_chan', type=int, default=2, help='out channel') parser.add_argument('--reduce_size', type=list, default=[9,12], help='reduce size') #parser.add_argument('--local_train', type=int, default=1000, help='local train time') parser.add_argument('--root_path_unlabeled', type=str, default='/data3/vein/vein-train-unlabel-2000-480-640', help='dataset root dir of unlabeled data') parser.add_argument('--each_length', type=int, default=225, help='data number each length') parser.add_argument('--dist_scale', type=int, default=0.01, help='scale factor when computing model distance') parser.add_argument("--max_grad_norm", dest="max_grad_norm", type=float, default=5, help="max gradient norm allowed (used for gradient clipping)") parser.add_argument('--num-warmup-epochs', '--num-warm-up-epochs', dest="num_warmup_epochs", default=0, type=int, help='number of warm-up epochs for unsupervised loss ramp-up during training' 'set to 0 to disable ramp-up') parser.add_argument('--lambda_u', type=float, default=100, help='start_epoch') parser.add_argument('--ema_decay', type=float, default=0.999, help='ema_decay') parser.add_argument('--consistency', type=float, default=0.1, help='consistency') parser.add_argument('--consistency_rampup', type=float, default=200.0, help='consistency_rampup') parser.add_argument('--labeled_bs', type=int, default=4, help='labeled_batch_size per gpu') parser.add_argument('--ict_alpha', type=int, default=0.2, help='ict_alpha') args = parser.parse_args() return args
最新发布
07-27
parser = argparse.ArgumentParser() parser.add_argument("--weights", type=str, default=ROOT / "yolov5s.pt", help="initial weights path") parser.add_argument("--cfg", type=str, default="", help="model.yaml path") parser.add_argument("--data", type=str, default=ROOT / "D:/project/py/YOLOpythonProject1/yolov5/data/images/data.yaml", help="D:/project/py/YOLOpythonProject1/yolov5/data/images") parser.add_argument("--hyp", type=str, default=ROOT / "data/hyps/hyp.scratch-low.yaml", help="hyperparameters path") parser.add_argument("--epochs", type=int, default=100, help="total training epochs") parser.add_argument("--batch-size", type=int, default=16, help="total batch size for all GPUs, -1 for autobatch") parser.add_argument("--imgsz", "--img", "--img-size", type=int, default=640, help="train, val image size (pixels)") parser.add_argument("--rect", action="store_true", help="rectangular training") parser.add_argument("--resume", nargs="?", const=True, default=False, help="resume most recent training") parser.add_argument("--nosave", action="store_true", help="only save final checkpoint") parser.add_argument("--noval", action="store_true", help="only validate final epoch") parser.add_argument("--noautoanchor", action="store_true", help="disable AutoAnchor") parser.add_argument("--noplots", action="store_true", help="save no plot files") parser.add_argument("--evolve", type=int, nargs="?", const=300, help="evolve hyperparameters for x generations") parser.add_argument( "--evolve_population", type=str, default=ROOT / "data/hyps", help="location for loading population" ) 怎么改
03-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

雪豹不会梦到瑞克5

妈妈生的

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

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

打赏作者

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

抵扣说明:

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

余额充值