Dala.Native (dala v0.8.1)

Copy Markdown View Source

Platform-native NIF functions.

This module provides fallback implementations for platform-specific NIF functions that are only available when compiled for iOS/Android. On those platforms, the Rust NIF implementations override these fallbacks.

On non-target platforms (e.g. dev machine), these fallback implementations return :not_supported or sensible defaults.

Summary

Functions

coreml_is_model_loaded(identifier)

@spec coreml_is_model_loaded(String.t()) :: boolean()

coreml_load_model(model_path, identifier)

@spec coreml_load_model(String.t(), String.t()) ::
  :ok | {:error, term()} | :not_supported

coreml_loaded_models()

@spec coreml_loaded_models() :: [String.t()]

coreml_predict(identifier, inputs_json)

@spec coreml_predict(String.t(), String.t()) :: {:error, term()} | :not_supported

coreml_unload_model(identifier)

@spec coreml_unload_model(String.t()) :: :ok | :not_supported

onnx_create_session(model_data)

@spec onnx_create_session(binary()) ::
  {:ok, integer()} | {:error, term()} | :not_supported

onnx_destroy_session(session_id)

@spec onnx_destroy_session(integer()) :: :ok | {:error, term()} | :not_supported

onnx_is_available()

@spec onnx_is_available() :: boolean()

onnx_load_model_from_file(path)

@spec onnx_load_model_from_file(String.t()) ::
  {:ok, integer()} | {:error, term()} | :not_supported

onnx_run(session_id, input)

@spec onnx_run(integer(), binary()) ::
  {:ok, String.t()} | {:error, term()} | :not_supported

onnx_session_count()

@spec onnx_session_count() :: non_neg_integer()