Pycharm命令行参数debug&error: unrecognized arguments报错的解决方案
在学习github上的源码时发现,大佬们写的代码都是使用argparse对象生成命令行进行传参的,学习的过程中自然是想debug的,于是使用pycharm进行debug,具体方法如下:
1.依次点击工具栏Run->Edit-Configuration
2.在parameter中输入对应的参数
按照顺序输入参数后,有 ‘error: unrecognized arguments:’等报错,则是命令行参数给的不对的原因,可以在命令行中将所有参数名称也加进去,例如,代码是中想传入的参数是下面这样的:
parser.add_argument('data', metavar='DIR',
help='path to dataset')
parser.add_argument('--save_dir', type=str, default='./', help='Folder to save checkpoints and log.')
parser.add_argument('--arch', '-a', metavar='ARCH', default='resnet18',
choices=model_names,
help='model architecture: ' +
' | '.join(model_names) +
' (default: resnet18)')
parser.add_argument('-j', '--workers', default=4, type=int, metavar='N', help='number of data loading workers (default: 4)')
parser.add_argument('--epochs', default=100, type=int, metavar='N', help='number of total epochs to run')
parser.add_argument('--start-epoch', default=0, type=int, metavar='N', help='manual epoch number (useful on restarts)')
parser.add_argument('-b', '--batch-size', default=256, type=int, metavar='N', help='mini-batch size (default: 256)')
parser.add_argument('--lr', '--learning-rate', default=0.1, type=float, metavar='LR', help='initial learning rate')
parser.add_argument('--momentum', default=0.9, type=float, metavar='M', help='momentum')
parser.add_argument('--weight-decay', '--wd', default=1e-4, type=float, metavar='W', help='weight decay (default: 1e-4)')
parser.add_argument('--print-freq', '-p', default=200, type=int, metavar='N', help='print frequency (default: 100)')
parser.add_argument('--resume', default='', type=str, metavar='PATH', help='path to latest checkpoint (default: none)')
parser.add_argument('-e', '--evaluate', dest='evaluate', action='store_true', help='evaluate model on validation set')
则需要在parameter中加入对应的参数命令,如下:
之后就可以debug运行啦~