#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ModelType {
Generic,
Onnx,
PyTorch,
TensorFlow,
Jax,
Keras,
MxNet,
OpenVino,
}
impl ModelType {
pub fn as_str(self) -> &'static str {
match self {
ModelType::Generic => "c2pa.types.model",
ModelType::Onnx => "c2pa.types.model.onnx",
ModelType::PyTorch => "c2pa.types.model.pytorch",
ModelType::TensorFlow => "c2pa.types.model.tensorflow",
ModelType::Jax => "c2pa.types.model.jax",
ModelType::Keras => "c2pa.types.model.keras",
ModelType::MxNet => "c2pa.types.model.mxnet",
ModelType::OpenVino => "c2pa.types.model.openvino",
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn known_strings() {
assert_eq!(ModelType::Generic.as_str(), "c2pa.types.model");
assert_eq!(ModelType::Onnx.as_str(), "c2pa.types.model.onnx");
assert_eq!(ModelType::PyTorch.as_str(), "c2pa.types.model.pytorch");
}
}