pub struct StepVisionTower { /* private fields */ }Implementations§
Source§impl StepVisionTower
impl StepVisionTower
Sourcepub fn load(e: &Engine, dir: &Path) -> Result<Self, Box<dyn Error>>
pub fn load(e: &Engine, dir: &Path) -> Result<Self, Box<dyn Error>>
Load the tower from the serving artifact’s own directory (the vision tensors
live unquantized, BF16, inside the NVFP4 checkpoint: model.vision_model.* +
model.vit_large_projector.weight, routed by model.safetensors.index.json).
Refuses any directory whose tensors do not census as this exact program.
Sourcepub fn out_width(&self) -> usize
pub fn out_width(&self) -> usize
Embedding width this tower emits per row (the projector out_features == the trunk n_embd of the checkpoint it loaded from; 4096 on Step-3.7-Flash).
Sourcepub fn forward(
&self,
e: &Engine,
patches: &[f32],
g: usize,
) -> Result<CudaSlice<f32>, Box<dyn Error>>
pub fn forward( &self, e: &Engine, patches: &[f32], g: usize, ) -> Result<CudaSlice<f32>, Box<dyn Error>>
Forward ONE view (the 728 main image at g=52, or one 504 crop tile at g=36): host patch rows [g*g, 588] -> device [rows, out_width] projector output, rows = (g/4 rounded per the two stride-2 convs)^2 (169 or 81).
Auto Trait Implementations§
impl Freeze for StepVisionTower
impl RefUnwindSafe for StepVisionTower
impl Send for StepVisionTower
impl Sync for StepVisionTower
impl Unpin for StepVisionTower
impl UnsafeUnpin for StepVisionTower
impl UnwindSafe for StepVisionTower
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