定义一个参数解析类
#option.py
import argparse
class Option():
def __init__(self):
self.parser = argparse.ArgumentParser(description='PyTorch Light CNN Training')
self.parser.add_argument('--no_cuda','-nc',action='store_false')
self.parser.add_argument('--root_path',type=str,default='photo2sketch/trainA')
self.parser.add_argument('--workers',type=int,default=16)
self.parser.add_argument('--batch_size',type=int,default=1)
self.parser.add_argument('--start_epoch',type=int,default=1)
self.parser.add_argument('--end_epoch',type=int,default=100)
self.parser.add_argument('--train_list',type=str,default='info.txt')
def parse(self):
opt=self.parser.parse_args()
return opt
使用并解析参数
#train.py
from option import Option
opt=Option().parse()
print(opt.batch_size)
在命令行里面输入
python train.py --start_epoch 2
,会给start_epoch指定值。
action=’store_false’
self.parser.add_argument('--no_cuda','-nc',action='store_false')
如果命令行里面出现了–no_cuda 则opt.no_cuda值为False,不出现为True。