deepsort中的test.py怎么用
时间: 2024-06-03 12:10:44 浏览: 114
DeepSORT是一个基于深度学习的目标跟踪算法,test.py是用于测试DeepSORT的Python脚本。使用test.py可以对已经预处理好的视频或者摄像头输入进行目标追踪。
使用方法:
1. 下载DeepSORT的代码
2. 进入DeepSORT目录下的deep_sort文件夹
3. 在命令行输入以下命令:python test.py --input_path [输入视频路径或摄像头索引] --output_path [输出视频路径] --model [模型路径]
其中,[输入视频路径或摄像头索引]可以是视频文件路径或摄像头连接的索引号;[输出视频路径]是可选项,指定义输出的视频路径;[模型路径]则是DeepSORT的模型文件路径。
任务完成后,DeepSORT会输出一个已经绘制了检测框、ID和类别的短视频。
相关问题
deepsort源码中的test.py文件怎么用
您好!感谢您的提问。关于deepsort源码中的test.py文件的使用方法,您可以按照以下步骤进行操作:
1.首先,您需要在安装好deepsort所需的依赖包之后,将deepsort项目文件夹克隆到您的本地电脑上。
2.然后,进入到deepsort目录下的tools文件夹,找到test.py文件。
3.使用命令行工具进入到test.py所在的文件夹,然后运行以下命令:python test.py。
4.在运行test.py文件时,您需要指定需要使用的视频路径、检测模型路径和跟踪模型路径等参数。例如,如果您想要使用video.mp4视频进行测试,需要指定Video_Path参数为'../video.mp4'。
5.在运行test.py文件后,您可以在命令行输出中查看跟踪结果。
希望这些信息能够帮到您,如果您有其他问题,请随时联系我,谢谢!
Traceback (most recent call last): File "/mnt/disk1/recommmend_sort/my_deepfm.py", line 436, in run_job_mp predict_list = ctr_trainer.predict(ctr_trainer.model, my_test_dataloader) File "/usr/local/lib/python3.7/site-packages/torch_rechub/trainers/ctr_trainer.py", line 110, in predict for i, (x_dict, y) in enumerate(tk0): File "/usr/local/lib/python3.7/site-packages/tqdm/std.py", line 1178, in __iter__ for obj in iterable: File "/usr/local/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 435, in __iter__ return self._get_iterator() File "/usr/local/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 381, in _get_iterator return _MultiProcessingDataLoaderIter(self) File "/usr/local/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1034, in __init__ w.start() File "/usr/local/lib/python3.7/multiprocessing/process.py", line 110, in start 'daemonic processes are not allowed to have children' AssertionError: daemonic processes are not allowed to have children
这个错误出现在你运行一个多进程的程序时,其中一个子进程(或者多个)尝试创建新的子进程。然而,Python中的守护进程(daemon process)是不允许创建子进程的,因为它们没有父进程,无法管理子进程。因此,你需要将这些子进程设置为非守护进程(non-daemon process)。可以通过在创建进程之前将它们设置为非守护进程来解决此问题,例如:
```python
import multiprocessing as mp
# 创建进程之前设置为非守护进程
mp.set_start_method('spawn')
# 创建进程
p = mp.Process(target=my_function)
p.daemon = False
p.start()
```
在此示例中,我们使用了`mp.set_start_method('spawn')`将进程启动方法设置为'spawn',以确保在创建新进程时不会发生错误。然后,我们创建了一个新进程,并将其设置为非守护进程。这样就可以避免`daemonic processes are not allowed to have children`错误的发生了。
阅读全文