算能科技
直播中

fansz

8年用户 1246经验值
擅长:制造/封装
私信 关注
[问答]

yolov5_multi_3output.py示例程序退出不了怎么解决?

启动参数如下,
if __name__ == '__main__':    tpu_id = 0    decoder_count = 1           #每个进程解码的路试    max_que_size = 10           #缓存的大小    loop_count = 100           #每个进程处理图片的数量,处理完毕之后会退出。    bmodel_name = "./yolov5s_v6.1_3output_int8_4b.bmodel"    video_list = ["rtsp://admin:jdsm8888@192.168.22.191/Streaming/Channels/101"]    p0 = Process(target=process_demo, args=(tpu_id, max_que_size, video_list, bmodel_name, loop_count, 1001))    p0.start()执行过程如下,


目前看示例代码,Inferences_thread是不会结束的,不会执行到print("Inferences_thread thread exit!"),应该是engine_image_pre_process.GetBatchData(True)没数据会阻塞导致
这个要怎么解决,如果程序不会退出,会影响到每天定时启动这个程序处理当天任务

回帖(1)

陈敏

2024-6-3 16:55:46
根据您提供的信息,我理解您的问题是在使用 `yolov5_multi_3output.py` 示例程序时,程序无法正常退出。为了解决这个问题,我们可以按照以下步骤进行排查和修复:

1. 首先,检查您的代码中是否有任何无限循环或阻塞操作。这可能是导致程序无法退出的原因。如果有,请修改这些部分的代码。

2. 确保 `loop_count` 参数的值是正确的。根据您的描述,当处理完指定数量的图片后,程序应该退出。如果 `loop_count` 的值设置得不正确,程序可能无法正常退出。请检查并调整该参数的值。

3. 检查程序中是否有任何异常或错误。如果程序在执行过程中遇到异常或错误,它可能无法正常退出。您可以在代码中添加异常处理语句,以便在遇到问题时能够正确地处理并退出程序。

4. 如果以上步骤都无法解决问题,您可以尝试在程序的末尾添加一个强制退出的语句。例如,在 Python 中,您可以使用 `sys.exit()` 函数来实现这一点。请注意,这可能不是最佳解决方案,因为它可能会掩盖潜在的问题,但在某些情况下,它可以帮助您确定问题所在。

5. 最后,确保您的代码是最新版本,并且已经安装了所有必要的依赖项。有时,程序无法正常退出可能是由于某些依赖项缺失或版本不兼容导致的。

希望以上建议能帮助您解决程序无法退出的问题。如果问题仍然存在,请提供更多详细信息,以便我能更好地帮助您。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分