尝试将变量设置为属性时出现错误。
parser = argparse.ArgumentParser()
parser.add_argument('--arch', action='store',
dest='arch', default='alexnet',
help='Store a simple value')
args = parser.parse_args()
model = models.args.arch(pretrained=True)
我知道models.args.arch
会出错,但是将变量设置为属性的语法应该如何?我可以使用if语句来做到这一点,但这将是很多代码,而且我猜它有可能在1行中出现。
答案 0 :(得分:3)
您要访问内部字典以进行更新:
model = models.__dict__[args.arch](pretrained=True)
或使用getattr
:
getattr(models, args.arch)(pretrained=True)