当前位置: 首页 > news >正文

DINOv3 重磅发布

2025年8月14日 Meta 发布了 DINOv3 。

主页:https://ai.meta.com/dinov3/

论文:DINOv3

HuggingFace地址:https://huggingface.co/collections/facebook/dinov3-68924841bd6b561778e31009

官方博客:https://ai.meta.com/blog/dinov3-self-supervised-vision-model/

代码:https://github.com/facebookresearch/dinov3

如上图所示,高分辨率密集特征,作者将使用DINOv3输出特征获得的带有红叉标记的块与所有其他块之间的余弦相似性进行可视化。

DINOv3的发布标志着在大规模自监督学习(SSL)训练方面取得了突破,且展示了一个单一冻结的自监督学习主干网络可以作为通用视觉编码器。

DINOv3 如何使用呢?官方提供了两种方式,很简单。

from transformers import pipeline
from transformers.image_utils import load_imageurl = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
image = load_image(url)feature_extractor = pipeline(model="facebook/dinov3-vitb16-pretrain-lvd1689m",task="image-feature-extraction", 
)
features = feature_extractor(image)
import torch
from transformers import AutoImageProcessor, AutoModel
from transformers.image_utils import load_imageurl = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = load_image(url)pretrained_model_name = "facebook/dinov3-vitb16-pretrain-lvd1689m"
processor = AutoImageProcessor.from_pretrained(pretrained_model_name)
model = AutoModel.from_pretrained(pretrained_model_name, device_map="auto", 
)inputs = processor(images=image, return_tensors="pt").to(model.device)
with torch.inference_mode():outputs = model(**inputs)pooled_output = outputs.pooler_output
print("Pooled output shape:", pooled_output.shape)

如果你要将模型下载到本地,可以直接加载模型所在目录,如下所示:

import torch
from transformers import AutoImageProcessor, AutoModel
from transformers.image_utils import load_imageurl = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = load_image(url)pretrained_model_name = "../model/dinov3-vitl16-pretrain-lvd1689m"  # 本地large模型
processor = AutoImageProcessor.from_pretrained(pretrained_model_name, use_safetensors=True)
model = AutoModel.from_pretrained(pretrained_model_name, device_map="auto", 
)inputs = processor(images=image, return_tensors="pt").to(model.device)
with torch.inference_mode():outputs = model(**inputs)
pooled_output = outputs.pooler_output
print("Pooled output shape:", pooled_output.shape)

输出结果为:

Pooled output shape: torch.Size([1, 1024])

pipeline()方法也是一样的方法。

关于模型输出特征的维度:

正如我上面的输出结果:large模型->1024dim

待更新...

http://www.dtcms.com/a/342476.html

相关文章:

  • 计算机网络技术学习-day6《三层交换机配置》
  • python发布文章和同步文章到社区的工具小脚本
  • 第三阶段数据库-6:sql中函数,多表查询,运算符,索引,约束
  • 智慧城管云平台源码,微服务vue+element+springboot+uniapp技术架构,数字化综合执法办案系统
  • 数据结构之排序大全(4)
  • 苷类成分通过 PI3K/AKT 信号通路促进内皮祖细胞来源外泌体修复受损血管内皮
  • 基于YOLO11的茶叶病害智能检测系统
  • 组态软件——工业监控“大脑”
  • leetcode-python-242有效的字母异位词
  • 代码随线录刷题Day39
  • 【uni-app】自定义导航栏以及状态栏,胶囊按钮位置信息的获取
  • Java的运行时数据区
  • Notepad++换行符替换
  • 机器学习——AdaBoost算法
  • 基于YOLO11的水稻叶片病害检测项目
  • 面试压力测试破解:如何从容应对棘手问题与挑战
  • (第二十期上)HTML 超链接标签 a
  • 【工具】前端JS/VUE修改图片分辨率
  • C语言数据结构:动态顺序表实现与应用
  • 如何使用Prometheus + Grafana + Loki构建一个现代化的云原生监控系统
  • 数字社会学是干什么的?数字社会学理论与数字社会学家唐兴通讲数字社会学书籍有哪些?AI社会学人工智能社会学理论框架
  • 4090服务器无法sudo apt update 问题解决
  • 告别服务器!Amazon Lambda无服务开发实战指南
  • CI/CD 学习之路
  • 佰钧成 社招 一面
  • Cesium 实战 27 - 自定义纹理材质 - 立体墙(渐变色)
  • 【数据结构入门】排序算法:插入排序
  • C和C++的区别?
  • 水深水温测量仪:水域监测的“智慧双眸”
  • Linux学习:信号的概念与产生方式