Codon-Motif-vision-1

13 downloads 0 likes on ModelScope updated

Model card

Codon Motif Vision 1

模型介绍

Codon Motif Vision 1 是一个实验性的视觉 Tokenizer (Visual Tokenizer) 模型,可以支持任意尺度图片。

技术规格

该模型基于 VQ-GAN 架构,并融合了以下关键技术:

  • 量化 (Quantizer): 采用 LFQ (Lookup Free Quantization),一种无查表的向量量化技术,计算包含熵 (Entropy) 和困惑度 (Perplexity)。
  • 位置编码: 集成 2D RoPE (Rotary Positional Embedding) 二维旋转位置编码,增强空间感知。
  • 注意力机制: Encoder 和 Decoder 均使用 Spatial Multi-Head Attention (空间多头注意力)。
  • 编码器 (Encoder): 结合 ConvBlock 和 ResBasicBlock,支持动态输入尺寸。
  • 解码器 (Decoder): 使用 PixelShuffle 进行上采样重建。

模型参数与文件

文件清单

文件名 大小 说明
motif-v1.safetensors 84.92MB 全量模型权重
motif-v1_encoder.safetensors 43.32MB 仅 Encoder 权重
motif-v1_decoder.safetensors 41.56MB 仅 Decoder 权重
motif-v1_quantizer.safetensors 34.37KB 仅 Quantizer 权重

默认配置

以下为模型初始化默认参数(即 v1 标准配置):

  • 输入/输出通道: 3 (RGB)
  • Patch Size: 16
  • Latent Dim: 256
  • Codebook Dim: 16
  • Encoder: Hidden Dim 256, 1 ResBlock, 4 Heads
  • Decoder: Hidden Dim 256, 3 ResBlocks, 4 Heads
  • RoPE Max Len: 4096

使用方法

1. 安装依赖

确保已安装 orbit-torch 库:

pip install orbit-torch

2. 模型加载

使用 load_pretrained 方法加载权重。权重分为全量权重和部分权重(Encoder, Decoder, Quantizer)。

导入模块

from orbit.model.motif.vision.v1 import MotifV1

场景 A:加载全量模型

model = MotifV1()
model.load_pretrained('motif-v1.safetensors')

场景 B:仅使用 Encoder

注意:在使用 Encoder 提取 Token 时,必须同时加载 Quantizer。通过 MotifV1 实例访问子模块进行加载。

# 1. 实例化主模型
model = MotifV1()

# 2. 分别加载权重
model.encoder.load_pretrained('motif-v1_encoder.safetensors')
model.quantizer.load_pretrained('motif-v1_quantizer.safetensors')

# 3. 使用示例 (使用封装好的 encode 方法)
# x = torch.randn(1, 3, 256, 256) # [B, 3, H, W]
# indices, mask, z_q = model.encode(x)
# print(indices.shape) # [B, H, W]

场景 C:仅使用 Decoder

注意:在使用 Decoder 重建图像时,必须同时加载 Quantizer(用于将索引还原为向量)。

# 1. 实例化主模型
model = MotifV1()

# 2. 分别加载权重
model.decoder.load_pretrained('motif-v1_decoder.safetensors')
model.quantizer.load_pretrained('motif-v1_quantizer.safetensors')

# 3. 使用示例 (使用封装好的 decode 方法)
# indices = ... # [B, H, W]
# reconstruction = model.decode(indices)