如何实现parse_args()在pytorch?



我正试图为我的深度学习模型编写一个模块。我希望使用argparse存储这些参数。args = parser.parse_args()出现了一些问题!另外,使用argparse库的好处是什么?

import numpy as np
import argparse

if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--dataset', type=str,
help='Dataset')
parser.add_argument('--epoch', type=int, default=40,
help='Training Epochs')
parser.add_argument('--node_dim', type=int, default=64,
help='Node dimension')
parser.add_argument('--num_channels', type=int, default=2,
help='number of channels')
parser.add_argument('--lr', type=float, default=0.005,
help='learning rate')
parser.add_argument('--weight_decay', type=float, default=0.001,
help='l2 reg')
parser.add_argument('--num_layers', type=int, default=2,
help='number of layer')
parser.add_argument('--norm', type=str, default='true',
help='normalization')
parser.add_argument('--adaptive_lr', type=str, default='false',
help='adaptive learning rate')
args = parser.parse_args()

print(args)

以上代码是完整代码的一部分,如下面的链接所示

错误:

usage: ipykernel_launcher.py [-h] [--dataset DATASET] [--epoch EPOCH]
[--node_dim NODE_DIM]
[--num_channels NUM_CHANNELS] [--lr LR]
[--weight_decay WEIGHT_DECAY]
[--num_layers NUM_LAYERS] [--norm NORM]
[--adaptive_lr ADAPTIVE_LR]
ipykernel_launcher.py: error: unrecognized arguments: -f /Users/anshumansinha/Library/Jupyter/runtime/kernel-1e4c0f41-a4d7-4388-be24-640dd3411f56.json
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2

以上代码是代码的一部分,完整代码可以在以下github链接中看到:

使用参数-f调用ipykernel_launcher.py。但是-f不在参数列表中。-f是您想用于输入文件的参数吗?然后,您应该在代码中添加如下内容:

parser.add_argument('--file', '-f', type=str)

argparse的好处是您不必手工编写解析参数的代码。你可以试试这个。它的代码比人们通常认为的要多。特别是当你有位置参数时。

相关内容

  • 没有找到相关文章

最新更新