处理 TVM 的错误
导航
处理 TVM 的错误#
在运行 TVM 时,你可能会遇到类似的错误信息:
---------------------------------------------------------------
An error occurred during the execution of TVM.
For more information, please see: https://tvm.apache.org/docs/errors.html
---------------------------------------------------------------
祝贺你! 你找到了这个页面。下面是一些关于如何解释这些错误信息的提示,以及当它们发生时你可以做什么。
这些错误从何而来?#
这个错误是由于在 TVM 的执行过程中违反了一个内部 invariant 造成的。在技术层面上,该信息是由 ICHECK 宏产生的,在 include/tvm/runtime/logging.h
中可以找到。ICHECK 宏在 TVM 代码中的许多地方被用来断言某些条件在执行过程中为真;任何时候断言失败,TVM 都会退出,并出现上述错误信息。
关于 TVM 如何处理和产生错误的更多细节,请参见 error-handling-guide。
当我遇到这样的错误时,我应该怎么做?#
首先,不要惊慌。好吧,你可以惊慌失措,但这无济于事。
最好的办法是在 Apache TVM 讨论论坛 上搜索你遇到的错误,看看这是否是别人遇到过的问题,以及可能的解决办法。如果这个错误是由较新版本的 TVM 中修复的错误造成的,你可能需要更新到较新的版本。
如果你没有找到关于你的问题的现有讨论论坛主题,欢迎你在论坛上发起一个新的主题,说明问题的细节。请 在你的帖子中包括以下关键信息:
你所使用的 TVM 的版本(例如,你的源代码树的 git 提交哈希值)。
您在哪个硬件和操作系统版本上运行 TVM。
您的 TVM 编译所针对的硬件设备和操作系统。
有关模型的详细信息、输入或有关工作负载的其他信息,可用于重现您的问题。
没有这些细节,TVM 开发人员很难为您提供很多帮助。