pub struct VisionTransformer { /* private fields */ }Expand description
Vision Transformer (ViT) model
Implementations§
Source§impl VisionTransformer
impl VisionTransformer
Sourcepub fn new(config: VisionTransformerConfig) -> Result<Self>
pub fn new(config: VisionTransformerConfig) -> Result<Self>
Create new Vision Transformer
Sourcepub fn build_vit_graph(&self, graph: &mut EinsumGraph) -> Result<Vec<usize>>
pub fn build_vit_graph(&self, graph: &mut EinsumGraph) -> Result<Vec<usize>>
Build complete Vision Transformer einsum graph
§Graph Inputs
- Tensor 0: Input patches
[batch, num_patches, patch_dim] - Tensor 1: Patch embedding weights
[patch_dim, d_model] - Additional encoder tensors (weights for each layer)
§Graph Outputs
- Classification logits
[batch, num_classes]
Note: This is a simplified representation. In practice, you would need to provide all encoder layer weights and handle class token prepending/extraction properly.
Sourcepub fn config(&self) -> &VisionTransformerConfig
pub fn config(&self) -> &VisionTransformerConfig
Get configuration
Sourcepub fn count_parameters(&self) -> usize
pub fn count_parameters(&self) -> usize
Count total parameters
Auto Trait Implementations§
impl Freeze for VisionTransformer
impl RefUnwindSafe for VisionTransformer
impl Send for VisionTransformer
impl Sync for VisionTransformer
impl Unpin for VisionTransformer
impl UnwindSafe for VisionTransformer
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