嗨! 在你的模型导出代码中没有NMS模块,我肯定需要使用BatchedNMS_TRT,但是,正因为如此,我得到错误"Assertion'engine->getNbBindings()==2'failed。"
我已经推导出了我的getNbBindings的数量,我有5个。 我可以在不影响代码的情况下将assert(engine->getNbBindings()==2)更改为assert(engine->getNbBindings()==5)吗?
我使用YoloV7,在自定义数据集和此指令上训练 https://blog.csdn.net/linghu8812/article/details/125741951
assert 本来就是 在调试时 使用的 ,Release 发布的话 改成几都没问题
不知道你这个问题是否已经解决, 如果还没有解决的话:根据你提供的情况,如果你确认了engine->getNbBindings()
的数量为5,并且你希望在不影响代码的情况下将assert(engine->getNbBindings()==2)
更改为assert(engine->getNbBindings()==5)
,那么你可以尝试以下步骤来达到目的:
首先,确保你已经对代码进行备份,以防止意外情况。
打开包含assert语句的源代码文件。
找到包含assert(engine->getNbBindings()==2)
的代码行。这个assert语句通常用于验证绑定的数量。
将代码行中的2
改为5
。
保存修改后的代码文件。
重新编译和运行你的程序,确保没有编译错误。
在运行时,你的代码会执行修改后的assert语句,验证绑定的数量是否为5。如果数目不等于5,则会触发断言错误,如果数目等于5,则程序会继续执行。
注意事项: - 在修改assert语句之前,确保你已经仔细理解了代码,并且确信修改是安全和正确的。 - assert语句通常用于在代码中进行调试和验证,如果绑定的数量与预期不符,则说明程序的其他部分可能存在问题或不完整。 - 如果你不确定修改assert语句会带来任何潜在的影响或后果,建议在修改之前咨询其他专业人士或进行更多的测试和验证。
请注意,由于我无法直接访问你的代码和运行环境,因此无法保证以上解决方案适用于你的情况。请仔细考虑并验证解决方案,以确保其适用性和正确性。
如果你对这个问题的解决方案不确定,或者没有足够的信息来对其进行评估,请告诉我,我将尝试提供其他可能的帮助或解决方案。