wasm_tensorflow_tfjs_core/
lib.rs

1use wasm_bindgen::JsValue;
2use wasm_bindgen_futures::{js_sys::Promise, JsFuture};
3
4mod bindings;
5
6pub enum BackendName {
7    Webgl,
8    Cpu,
9    Tensorflow,
10}
11
12impl ToString for BackendName {
13    fn to_string(&self) -> String {
14        match self {
15            BackendName::Cpu => "cpu",
16            BackendName::Webgl => "webgl",
17            BackendName::Tensorflow => "tensorflow",
18        }
19        .into()
20    }
21}
22
23pub async fn set_backend(backend_name: BackendName) -> Result<bool, JsValue> {
24    let result = JsFuture::from(Promise::from(bindings::set_backend(
25        &backend_name.to_string(),
26    )))
27    .await?
28    .as_bool()
29    .unwrap();
30    Ok(result)
31}