pub struct GlmVitMerger {
pub post_layernorm_w: DevicePtr,
pub downsample_w: DevicePtr,
pub downsample_b: DevicePtr,
pub proj_w: DevicePtr,
pub norm_w: DevicePtr,
pub norm_b: DevicePtr,
pub gate_w: DevicePtr,
pub up_w: DevicePtr,
pub down_w: DevicePtr,
}Expand description
2026-09-25: Everything after the last block: the post-norm, the 2×2 conv
downsample and the merger MLP whose output fills buf_out.
Fields§
§post_layernorm_w: DevicePtr2026-09-25: Weight-only RMSNorm over hidden_size, applied before the downsample.
downsample_w: DevicePtr2026-09-25: The 2×2 stride-2 conv weight read as [out_hidden, hidden*4]
in (in_channel, kh, kw) order, the order glm_vit_im2col_2x2 writes.
downsample_b: DevicePtr§proj_w: DevicePtr§norm_w: DevicePtr2026-09-25: post_projection_norm, the tower’s only LayerNorm (mean
subtracted, with bias); every other norm is weight-only RMSNorm.
norm_b: DevicePtr§gate_w: DevicePtr§up_w: DevicePtr§down_w: DevicePtrAuto Trait Implementations§
impl Freeze for GlmVitMerger
impl RefUnwindSafe for GlmVitMerger
impl Send for GlmVitMerger
impl Sync for GlmVitMerger
impl Unpin for GlmVitMerger
impl UnwindSafe for GlmVitMerger
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