Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a wrapper high-level and safe rust API for the generated rust bindings.
The key changes
wasi_ephemeral_nn::*
.Details
For Convenience
Error
andBackendError
enum for error handling, and introduce a dependencythiserror
. (replaceNnErrno
)GraphEncoding
,ExecutionTarget
, andTensorType
enum to replace the corresponding types ingenerated.rs
.GraphBuilder
to buildGraph
instances, the methods can be chained on it in order to configure the graph conveniently.set_input
andget_output
, so users can use a lot of types as parameters, such as[f32]
,[u8]
,Vec<f32>
,Vec<u8>
, etc.For Safety
GraphExecutionContext
, it cannot live longer thanGraph
.GraphExecutionContext
as&mut self
when runningset_input
andcompute
.Misc
rust/examples/classification-example/src/main.rs
to adapt the high-level API.Cargo.toml
for docs.rs..cargo/config.toml
to set the default build/publish target towasm32-wasi
.This is a part work of WasmEdge's LFX mentorship, Thanks.