【Jupyter】Jupiter notebook如何从命令行中读取参数?(argparse模块如何在jupyter中用于传递参数)

问题产生

最近打算把cycleGAN的代码写个详细的注释,于是想用jupyter看一下中间的某些部分都是啥。结果就出现问题了,原来的代码中是给命令行直接run写的,用jupyter没法传递参数,即使你写了default,也会出现报错。
错误大概是这样的:

An exception has occurred, use %tb to see the full traceback.
ipykernel_launcher.py: error: unrecognized arguments: -f /share/home/li......
SystemExit: 2

解决方法

解决办法非常简单:

  1. 对应命令行的不传递参数:
    在你的parser.add_argument里写好default。找到代码里的parser.parse_args()(command+f),改成parser.parse_args([])。如果还不行找找代码里是不是还有parser.parse_known_args(),把它改成parser.parse_known_args([])
  2. 对应命令行的传递参数:
    找到代码里的parser.parse_args(),改成这种形式parser.parse_args(['--modelname','cycleGAN'])

这个问题出现的原因大概是因为argparse这个模块写包时候的问题,对于jupyter这种情况会有点冲突。上述两种方法就是对应着命令行传参数和不传参数。具体的细节这篇文章解释的很清楚:https://zhuanlan.zhihu.com/p/55013625

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小丫么小阿豪

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值