将cmd终端运行的程序,在pycharm中调试运行(demo.py test.py train.py) 您所在的位置:网站首页 pycharm单步调试乱码 将cmd终端运行的程序,在pycharm中调试运行(demo.py test.py train.py)

将cmd终端运行的程序,在pycharm中调试运行(demo.py test.py train.py)

2023-09-06 12:46| 来源: 网络整理| 查看: 265

将cmd终端运行的程序,在pycharm中调试运行:

对象以CVPR2021中论文的开源代码为例

论文题目为: Track to Detect and Segment: An Online Multi-Object Tracker 代码链接: https://github.com/JialianW/TraDeS.git 代码的环境安装链接可参考: https://blog.csdn.net/qq_42962681/article/details/115906491?spm=1001.2014.3001.5501

问题描述:

在GitHub中的代码,大多数都是在cmd终端上运行的,很少有直接在pycharm中直接运行(以demo.py为例,直接运行demo.py,就可运行出结果),这对我这样的初学者去理解、修改代码造成了很大的困难,因此为了在pycharm中直接运行并调试参数,找到下方方法,此贴用以记录自己的学习历程。如下面代码所示:

在cmd终端,转到demo.py所在的文件夹下:

cd TraDeS_ROOT/src/

运行下面代码:

python demo.py tracking --dataset mot --load_model ../models/mot_half.pth --demo ../videos/mot_mini.mp4 --pre_hm --ltrb_amodal --pre_thresh 0.5 --track_thresh 0.4 --inference --clip_len 3 --trades --save_video --resize_video --input_h 544 --input_w 960

终端中代码所示如下图: 在这里插入图片描述

解决方法:

作为一个编程小白,pycharm都没完全明白,直接在终端运行,虽然能跑出结果,但是理解和更改参数却是无法下手。因此,为了能在pycharm中直接运行(以便能弄清代码和参数更改),通过查资料和GitHub上问题的回答以及自己的尝试,得到以下两种方法。

一、在pycharm中直接添加运行代码

1.点击所要运行的主程序 demo.py 在这里插入图片描述 2.点击“Run” 菜单下的“ Edit configuration” 在这里插入图片描述 3.点击右上角的“+”,选择“python” 在这里插入图片描述 4.之后在右方填入相关信息 Name:填写要运行的代码文件 这里为demo.py Script path :找到demo.py所在文件夹下的路径 Parameters:输入上方cmd终端下的代码 Python interpreter: 为自己创建的环境 在这里插入图片描述 5.配置好后就可直接运行demo.py了 在这里插入图片描述

二、更改opts.py文件中的参数,运行程序

这种方法需要了解一下argparse模块,并熟悉argparse的用法。argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。

下面详细介绍我们如何修改参数 1.首先找到opts.py所在的位置,如下图所示: F:test\TraDeS-master\src\lib\opts.py

在这里插入图片描述 opts.py代码如下图所示: 在这里插入图片描述

2.以下方代码为例,在opts.py中进行修改。

python demo.py tracking --dataset mot --load_model ../models/mot_half.pth --demo ../videos/mot_mini.mp4 --pre_hm --ltrb_amodal --pre_thresh 0.5 --track_thresh 0.4 --inference --clip_len 3 --trades --save_video --resize_video --input_h 544 --input_w 960

1)对于tracking,更改参数default和修改--task',详细代码如下图:

self.parser.add_argument('task', default='', help='ctdet | ddd | multi_pose ' '| tracking or combined with ,') (line 14 in opts.py) 更改为: self.parser.add_argument('--task',default='tracking', help='ctdet | ddd | multi_pose ' '| tracking or combined with ,')

这里的修改我用时最长,当时对argparse模块了解的不深入,以为简单的修改default就行,这样运行demo.py就会出现demo.py: error: the following arguments are required: task的报错。

2)对于`--load_model ../models/mot_half.pth`这种类型的参数,更改参数`default`,这里就是加载训练的模型,详细代码如下图: self.parser.add_argument('--load_model', default='', help='path to pretrained model') (line 34 in opts.py) 更改为: self.parser.add_argument('--load_model', default='../models/mot_half.pth', help='path to pretrained model') 3)对于`--pre_hm`这种命令,更改参数`action`,代码如下: self.parser.add_argument('--pre_hm', action='store_true') (line 214 in opts.py) 更改为: self.parser.add_argument('--pre_hm', action='store_false')

将所有指定的参数修改完后,就可直接运行demo.py了

原因分析:

这个问题前前后后折腾了我好几天,一度想放弃挣扎,但是终究慢慢的摸索出来了,前路漫漫,要学的还很多,加油!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有