use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
#[serde(deny_unknown_fields)]
pub struct AccelerationConfig {
#[serde(default)]
pub provider: ExecutionProviderType,
#[serde(default)]
pub device_id: u32,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq, Eq, Hash)]
#[serde(rename_all = "lowercase")]
pub enum ExecutionProviderType {
#[default]
Auto,
Cpu,
#[serde(alias = "coreml")]
CoreMl,
Cuda,
#[serde(alias = "tensorrt")]
TensorRt,
}