pub struct VisionLanguageGraphModel {Show 13 fields
pub config: VisionLanguageGraphConfig,
pub model_id: Uuid,
pub vision_encoder: VisionEncoder,
pub language_encoder: LanguageEncoder,
pub graph_encoder: GraphEncoder,
pub multimodal_transformer: MultiModalTransformer,
pub meta_learner: MetaLearner,
pub vision_embeddings: HashMap<String, Array1<f32>>,
pub language_embeddings: HashMap<String, Array1<f32>>,
pub graph_embeddings: HashMap<String, Array1<f32>>,
pub unified_embeddings: HashMap<String, Array1<f32>>,
pub training_stats: Option<TrainingStats>,
pub is_trained: bool,
}Expand description
Vision-Language-Graph embedding model
Fields§
§config: VisionLanguageGraphConfig§model_id: Uuid§vision_encoder: VisionEncoderVision encoder
language_encoder: LanguageEncoderLanguage encoder
graph_encoder: GraphEncoderGraph encoder
multimodal_transformer: MultiModalTransformerMulti-modal transformer
meta_learner: MetaLearnerMeta-learner for adaptation
vision_embeddings: HashMap<String, Array1<f32>>Cached embeddings
language_embeddings: HashMap<String, Array1<f32>>§graph_embeddings: HashMap<String, Array1<f32>>§unified_embeddings: HashMap<String, Array1<f32>>§training_stats: Option<TrainingStats>Training state
is_trained: boolImplementations§
Source§impl VisionLanguageGraphModel
Vision encoder
impl VisionLanguageGraphModel
Vision encoder
Sourcepub fn new(config: VisionLanguageGraphConfig) -> Self
pub fn new(config: VisionLanguageGraphConfig) -> Self
Create new vision-language-graph model
Sourcepub async fn generate_unified_embedding(
&mut self,
image: Option<&Array3<f32>>,
text: Option<&str>,
graph_data: Option<(&Array2<f32>, &Array2<f32>, &Array2<f32>)>,
) -> Result<Array1<f32>>
pub async fn generate_unified_embedding( &mut self, image: Option<&Array3<f32>>, text: Option<&str>, graph_data: Option<(&Array2<f32>, &Array2<f32>, &Array2<f32>)>, ) -> Result<Array1<f32>>
Generate unified multi-modal embedding
Trait Implementations§
Source§impl Debug for VisionLanguageGraphModel
impl Debug for VisionLanguageGraphModel
Source§impl EmbeddingModel for VisionLanguageGraphModel
impl EmbeddingModel for VisionLanguageGraphModel
fn config(&self) -> &ModelConfig
fn model_id(&self) -> &Uuid
fn model_type(&self) -> &'static str
fn add_triple(&mut self, _triple: Triple) -> Result<()>
fn train<'life0, 'async_trait>(
&'life0 mut self,
epochs: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<TrainingStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_entity_embedding(&self, entity: &str) -> Result<Vector>
fn get_relation_embedding(&self, relation: &str) -> Result<Vector>
fn score_triple( &self, subject: &str, predicate: &str, object: &str, ) -> Result<f64>
fn predict_objects( &self, subject: &str, predicate: &str, k: usize, ) -> Result<Vec<(String, f64)>>
fn predict_subjects( &self, predicate: &str, object: &str, k: usize, ) -> Result<Vec<(String, f64)>>
fn predict_relations( &self, subject: &str, object: &str, k: usize, ) -> Result<Vec<(String, f64)>>
fn get_entities(&self) -> Vec<String>
fn get_relations(&self) -> Vec<String>
fn get_stats(&self) -> ModelStats
fn save(&self, _path: &str) -> Result<()>
fn load(&mut self, _path: &str) -> Result<()>
fn clear(&mut self)
fn is_trained(&self) -> bool
Auto Trait Implementations§
impl Freeze for VisionLanguageGraphModel
impl RefUnwindSafe for VisionLanguageGraphModel
impl Send for VisionLanguageGraphModel
impl Sync for VisionLanguageGraphModel
impl Unpin for VisionLanguageGraphModel
impl UnwindSafe for VisionLanguageGraphModel
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
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
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>
Converts
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>
Converts
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 moreSource§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> StrictAs for T
impl<T> StrictAs for T
Source§fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
Casts the value.
Source§impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
Source§fn strict_cast_from(src: Src) -> Dst
fn strict_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.