如何在Jupyter Notebook中使用参数解析器

时间:2018-06-26 09:21:24

标签: python opencv jupyter-notebook

https://github.com/ITCoders/Human-detection-and-Tracking/blob/master/main.py 这是我为人类检测获得的代码。我正在使用anaconda导航器(jupyter笔记本)。如何在其中使用参数解析器?如何给视频路径 -v ?谁能为我说一个解决方案?程序的运行是通过单击运行按钮或通过输入 shift + Enter 完成的。我需要进行人工检测。我是python和opencv的初学者。所以请帮忙。

3 个答案:

答案 0 :(得分:1)

您要询问的内容似乎类似于:Passing command line arguments to argv in jupyter/ipython notebook

帖子中提到了两种有用的不同方法。就是说,我建议使用命令行工具和Python IDE编写脚本以运行机器学习模型。 IPython可能有助于可视化,快速调试或在常用数据集上运行经过预训练的模型。

答案 1 :(得分:0)

我尝试了“Passing command line arguments to argv in jupyter/ipython notebook”中列出的答案,并想出了不同的解决方案。

我的原始代码是

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True, help="path to input image")
ap.add_argument("-y", "--yolo", required=True, help="base path to YOLO directory")
ap.add_argument("-c", "--confidence", type=float, default=0.5, help="minimum probability to filter weak detections")
ap.add_argument("-t", "--threshold", type=float, default=0.3, help="threshold when applying non-maxima suppression")
args = vars(ap.parse_args())

最常见的解决方案是创建一个虚拟类,我把它写成:

Class Args():
    image='photo.jpg'
    yolo='yolo-coco'
    confidence=0.5
    threshold=0.3

args=Args()

但更多的代码片段产生了错误。

于是我在args后面打印了vars(ap.parse_args()),发现是一本字典。

所以只需为原始参数创建一个字典:

args={"image":  'photo.jpg', "yolo":  'yolo-coco', "confidence": 0.5,"threshold": 0.3}

答案 2 :(得分:0)

我要做的就是将一个空字符串传递给 parser.parse_args()

parser.parse_args() > parser.parse_args("")

这就是我的全部。