#[non_exhaustive]pub struct MlModelInfo {Show 14 fields
pub approach: Option<String>,
pub architecture_family: Option<String>,
pub architecture_name: Option<String>,
pub task: Option<String>,
pub quantization: Option<String>,
pub limitations: Option<String>,
pub training_datasets: Vec<DatasetRef>,
pub energy_kwh_training: Option<f64>,
pub model_card_url: Option<String>,
pub fairness: Vec<FairnessAssessment>,
pub ethical_considerations: Vec<EthicalConsideration>,
pub use_cases: Vec<String>,
pub performance_metrics: Vec<MetricEntry>,
pub data_preprocessing: Vec<String>,
}Expand description
Machine learning model metadata (CycloneDX 1.5+)
Structured information about trained ML models, including architecture, approach, quantization, and environmental impact.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.approach: Option<String>ML approach type: “supervised”, “unsupervised”, “reinforcement-learning”, “semi-supervised”
architecture_family: Option<String>Architecture family: “transformer”, “cnn”, “rnn”, “llm”, “gan”, etc.
architecture_name: Option<String>Architecture name: “bert”, “gpt”, “resnet”, etc.
task: Option<String>ML task: “nlp”, “computer-vision”, “audio”, “tabular”, etc.
quantization: Option<String>Quantization mode: “int4”, “int8”, “fp16”, “bf16”, “fp32”, “mixed”, etc.
limitations: Option<String>Limitations or known constraints of the model
training_datasets: Vec<DatasetRef>Training datasets used for this model
energy_kwh_training: Option<f64>Energy consumed during training in kWh (approximate)
model_card_url: Option<String>URL to detailed model card (from ExternalRefType::ModelCard)
fairness: Vec<FairnessAssessment>Fairness assessments (CycloneDX 1.5+ considerations.fairnessAssessments).
SPDX 3.0 has no direct analogue; the nearest AI-profile signals are
normalized into this shape so cross-format scoring is symmetric.
ethical_considerations: Vec<EthicalConsideration>Ethical considerations. CycloneDX emits structured objects
(considerations.ethicalConsiderations[]); SPDX emits free strings.
Both are normalized into this single shape.
use_cases: Vec<String>Intended use-cases (CycloneDX considerations.useCases, SPDX ai_domain /
ai_informationAboutApplication).
performance_metrics: Vec<MetricEntry>Quantitative performance metrics (CycloneDX
modelCard.quantitativeAnalysis.performanceMetrics, SPDX ai_metric).
data_preprocessing: Vec<String>Data-preprocessing steps applied to the model’s inputs (SPDX 3.0 AI
profile ai_modelDataPreprocessing). Surfaced for the BSI/G7
SBOM-for-AI “Models” cluster; CycloneDX has no direct analogue.
Trait Implementations§
Source§impl Clone for MlModelInfo
impl Clone for MlModelInfo
Source§fn clone(&self) -> MlModelInfo
fn clone(&self) -> MlModelInfo
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MlModelInfo
impl Debug for MlModelInfo
Source§impl Default for MlModelInfo
impl Default for MlModelInfo
Source§fn default() -> MlModelInfo
fn default() -> MlModelInfo
Source§impl<'de> Deserialize<'de> for MlModelInfo
impl<'de> Deserialize<'de> for MlModelInfo
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for MlModelInfo
impl PartialEq for MlModelInfo
Source§fn eq(&self, other: &MlModelInfo) -> bool
fn eq(&self, other: &MlModelInfo) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for MlModelInfo
impl Serialize for MlModelInfo
impl StructuralPartialEq for MlModelInfo
Auto Trait Implementations§
impl Freeze for MlModelInfo
impl RefUnwindSafe for MlModelInfo
impl Send for MlModelInfo
impl Sync for MlModelInfo
impl Unpin for MlModelInfo
impl UnsafeUnpin for MlModelInfo
impl UnwindSafe for MlModelInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more