Python 3.x parser.add_参数和parser.parse_args()和jupyter
我试图用jupyter笔记本运行一些代码,但从一开始,我就遇到了问题 事实上,看起来我无法使用这些命令:Python 3.x parser.add_参数和parser.parse_args()和jupyter,python-3.x,jupyter-notebook,argparse,Python 3.x,Jupyter Notebook,Argparse,我试图用jupyter笔记本运行一些代码,但从一开始,我就遇到了问题 事实上,看起来我无法使用这些命令: parser.add_argument('--lr', default=0.1, type=float, help='learning rate') parser.add_argument('--resume', '-r', action='store_true', help='resume from checkpoint') 用法:ipykernel\u launcher.py[-h][
parser.add_argument('--lr', default=0.1, type=float, help='learning rate')
parser.add_argument('--resume', '-r', action='store_true', help='resume from checkpoint')
用法:ipykernel\u launcher.py[-h][-lr-lr][-resume]
而ipykernel\u launcher.py
给出错误:无法识别的参数:-f
以及:
我看到有些人在尝试使用jupyter和arg_parse时已经遇到了这个问题,但我找不到一个简单的解决方案
谢谢你的帮助 当我启动一个空白笔记本并执行
import sys
sys.argv
我明白了
parse_args()
使用调用脚本的shell中的sys.argv
列表。它是命令行字符串的列表
脚本看到的sys.argv
包含由jupyter
创建的-f
参数
您可以使用parse\u known\u args()
,以便解析器不会引发此错误。但这不会帮助您获得--lr
或-r
参数,因为jupyter的
解析器会拒绝它们
前面的SO问题的本质是,您不能向笔记本提供命令行参数。告诉我们您从其他人的问题中学到了什么。你希望我们给你一个他们没有收到的解决方案吗?问题是我不理解其他的解释,这就是为什么我必须提出一个新问题的原因:/所以在我的情况下没有解决方案??也许我可以说lr=0.1来替换第一个add_参数,但是对于第二个add_参数,我不知道它是什么:'--resume','-r',action='store_true',help='resume from checkpoint'),所以我不知道如何替换它!!需要明确的是,您是在运行Python脚本(a
.py
文件)还是在运行笔记本(.ipynb)?谢谢您的回答:a.ipynb启动后,您不可以从笔记本中控制所有这些吗?jupyter notebook
命令的目的是启动服务器,而不是与笔记本通话或控制笔记本。服务器可能正在运行几个不同的笔记本。很抱歉,我不太明白您到底想让我们做什么??
import sys
sys.argv
['/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py',
'-f',
'/run/user/1000/jupyter/kernel-b2d72478-6aaa-4206-9bf3-38fc1a0fd303.json']