ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

InternViT-300M-448px快速上手教程:3步代码提取图像特征的完整指南

InternViT-300M-448px快速上手教程:3步代码提取图像特征的完整指南 InternViT-300M-448px快速上手教程3步代码提取图像特征的完整指南【免费下载链接】InternViT-300M-448px项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/InternViT-300M-448pxInternViT-300M-448px是 OpenGVLab 开源的轻量级视觉基础模型Vision Foundation Model仅 304M 参数即可输出高质量图像特征专为构建多模态大模型MLLM的视觉编码器而设计。本教程带你用最少的代码3 步完成图像特征提取。 InternViT-300M-448px 是什么InternViT-300M-448px 由更大的 InternViT-6B-448px-V1-5 蒸馏而来继承了其鲁棒性、OCR 能力和高分辨率处理能力。核心亮点特性说明参数量304M轻量消费级显卡可跑输入分辨率448×448 动态分辨率支持多 tile 拼接骨干结构24 层 Transformer16 个注意力头隐藏维度 1024精度bfloat16默认启用 Flash Attention协议MIT License可自由商用 官方提示该系列V2.5更适合搭建多模态大模型而非传统 CV 任务分类/检测。模型配置可在config.json中查看例如num_hidden_layers: 24、patch_size: 14、use_flash_attn: true等关键参数一目了然。 三步快速开始第 1 步准备环境首先安装 PyTorch 和 transformers权重文件默认会从镜像仓库自动下载。也可以先将模型下载到本地如hf_mirrors/OpenGVLab/InternViT-300M-448px核心文件包括model.safetensors— 模型权重modeling_intern_vit.py— 模型定义InternVisionModel主类configuration_intern_vit.py— 配置类InternVisionConfigpreprocessor_config.json— 图像预处理参数448 缩放、ImageNet 均值/方差归一化flash_attention.py— Flash Attention 实现mlp_projector/— 配套 MLP 投影头如internlm2_chat_1_8b.pth、phi_3_mini_128k_instruct.pth用于将视觉特征接入对应语言模型pip install torch transformers pillow einops timm如需离线部署可先克隆模型仓库git clone https://gitcode.com/hf_mirrors/OpenGVLab/InternViT-300M-448px第 2 步加载模型与图像处理器使用AutoModel加载模型并用CLIPImageProcessor做图像预处理自动完成 448×448 缩放与归一化import torch from PIL import Image from transformers import AutoModel, CLIPImageProcessor model AutoModel.from_pretrained( OpenGVLab/InternViT-300M-448px, torch_dtypetorch.bfloat16, low_cpu_mem_usageTrue, trust_remote_codeTrue).cuda().eval() image Image.open(./examples/image1.jpg).convert(RGB) image_processor CLIPImageProcessor.from_pretrained(OpenGVLab/InternViT-300M-448px)第 3 步前向推理提取图像特征将图像转为张量并送入模型即可得到特征pixel_values image_processor(imagesimage, return_tensorspt).pixel_values pixel_values pixel_values.to(torch.bfloat16).cuda() outputs model(pixel_values) 输出结果怎么解读前向结果是一个BaseModelOutputWithPooling对象见modeling_intern_vit.py中InternVisionModel.forward的返回逻辑包含两个核心字段last_hidden_state所有 patch token 的特征序列形状约为[batch, 1034, 1024]1 个 CLS token 32×32 个 patch 可随 tile 数扩展这是多模态大模型最常用的细粒度特征输入pooler_output取 CLS token 得到的全局池化特征形状为[batch, 1024]适合做整图级表示。在mlp_projector/中官方还提供了对应语言模型的 MLP 投影权重将 1024 维视觉特征映射到语言模型隐藏维度方便你直接搭建视觉-语言对齐模型。❓ 常见问题FAQQ1为什么必须用 bfloat16config.json中torch_dtype指定为bfloat16推理时保持同精度可避免数值不稳定同时显存占用更低。Q2没有 Flash Attention 会报错吗不会。modeling_intern_vit.py中会自动检测未安装时打印提示并回退到普通注意力_naive_attn功能不受影响只是速度略慢。Q3支持高分辨率大图吗支持。基础 tile 为 448×448训练时使用 1~12 个 tile推理时可扩展到 1~40 个 tile把大图切块拼接后输入forward也支持直接传入预先算好的pixel_embeds。Q4有更新版本吗有InternViT-300M-448px-V2_5是迭代版本新项目中建议优先考虑。✅ 小结304M 参数 448×448 动态分辨率是搭建多模态大模型的高性价比视觉骨干只需 3 步装依赖 → 加载模型与处理器 → 前向推理即可拿到last_hidden_state与pooler_output两类特征配合mlp_projector/中的投影头可快速接入 InternLM2、Phi-3 等语言模型MIT 协议放心使用【免费下载链接】InternViT-300M-448px项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/InternViT-300M-448px创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表