tvm.error¶
Structured error classes in TVM.
Each error class takes an error message as its input. See the example sections for suggested message conventions. To make the code more readable, we recommended developers to copy the examples and raise errors with the same message convention.
Note
Please also refer to Error Handling Guide.
Exceptions:
Default error thrown by TVM functions. |
|
|
Internal error in the system. |
Error thrown by the remote server handling the RPC call. |
|
Error thrown by the remote server when the RPC session has expired. |
|
Base class of all operator errors in frontends. |
|
Operator is not implemented. |
|
Required attribute is not found. |
|
Attribute value is invalid when taking in a frontend operator. |
|
Attribute is not supported in a certain frontend. |
|
Error diagnostics were reported during the execution of a pass. |
Functions:
|
Register an error class so it can be recognized by the ffi error handler. |
- exception tvm.error.TVMError¶
Default error thrown by TVM functions.
TVMError will be raised if you do not give any error type specification,
- tvm.error.register_error(func_name=None, cls=None)¶
Register an error class so it can be recognized by the ffi error handler.
- Parameters
func_name (str or function or class) – The name of the error function.
cls (function) – The function to create the class
- Returns
fregister – Register function if f is not specified.
- Return type
function
Examples
@tvm.error.register_error class MyError(RuntimeError): pass err_inst = tvm.error.create_ffi_error("MyError: xyz") assert isinstance(err_inst, MyError)
- exception tvm.error.InternalError(msg)¶
Internal error in the system.
Examples
// Example code C++ LOG(FATAL) << "InternalError: internal error detail.";
# Example code in python raise InternalError("internal error detail")
- exception tvm.error.RPCError¶
Error thrown by the remote server handling the RPC call.
- exception tvm.error.RPCSessionTimeoutError¶
Error thrown by the remote server when the RPC session has expired.
- exception tvm.error.OpError¶
Base class of all operator errors in frontends.
- exception tvm.error.OpNotImplemented¶
Operator is not implemented.
Example
raise OpNotImplemented( "Operator {} is not supported in {} frontend".format( missing_op, frontend_name))
- exception tvm.error.OpAttributeRequired¶
Required attribute is not found.
Example
raise OpAttributeRequired( "Required attribute {} not found in operator {}".format( attr_name, op_name))
- exception tvm.error.OpAttributeInvalid¶
Attribute value is invalid when taking in a frontend operator.
Example
raise OpAttributeInvalid( "Value {} in attribute {} of operator {} is not valid".format( value, attr_name, op_name))
- exception tvm.error.OpAttributeUnImplemented¶
Attribute is not supported in a certain frontend.
Example
raise OpAttributeUnImplemented( "Attribute {} is not supported in operator {}".format( attr_name, op_name))
- exception tvm.error.DiagnosticError¶
Error diagnostics were reported during the execution of a pass.
See the configured diagnostic renderer for detailed error information.