DINO (IDEA研究院) windows环境配置与部署

该文章已生成可运行项目,

1.DINO

为避免将“DINO”混为一谈防止歧义,首先简述"DINO"的发展现状。

IDEA-Research DINO系列:DETR, DINO, Grounding DINO, DINO-X

meta/facebook DINO系列:DINO, DINOv2

由IDEA研究院提出的DINO(全称:DETR with Improved Non-maximum Suppression Optimization)是一种基于Transformer架构的目标检测模型,它是DETR的一种改进版本,旨在通过改进的去噪锚框机制解决原始DETR模型的一些局限性,特别是其较慢的收敛速度和对小目标检测能力的不足。体验demo:Playground: Grounding DINO

由meta提出的DINO(全称:Self-Distillation with No Labels),是一个自监督学习(SSL)框架,使用ViT作为核心架构,通过自蒸馏技术来训练模型,无需标签即可进行图像表示学习,可应用于图像分类、目标检测、语义分割等任务。体验demo: DINOv2 by Meta AI

2.环境配置与部署测试

官方文档:https://github.com/IDEA-Research/DINO

官方版本:python=3.7.3,pytorch=1.9.0,cuda=11.1

2.1 准备工作

在开始进行环境配置与部署前,首先建议Windows上具有正确版本的C++编译工具(VC>=14.0),简单的办法是安装Microsoft Visual C++ Build Tools 14.0(即VC 14.0)或Visual Studio 2015-2022版本,通常建议Visual Studio 2019(即VS2019),vs与vc的对应关系参考:VS各个版本对应的C++版本一览表(持续更新,最新为VS2022)_microsoft visual c++有好多个版本-CSDN博客

检查相应的cuda,cudatoolkit,pytorch版本,参考 Get Started. 一般来说,cuda的兼容性(向前兼容)较好,可按官方文档无需修改。

2.2 环境配置

① 创建虚拟环境-python=3.7(略)

② 安装pytorch和torchvision

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

③ 在项目目录下,安装其他依赖库

pip install -r requirements.txt

注意,官方文档中,requirements依赖库展示如下:

cython
# git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI&egg=pycocotools
submitit
torch>=1.5.0
torchvision>=0.6.0
# git+https://github.com/cocodataset/panopticapi.git#egg=panopticapi
scipy
termcolor
addict
yapf
# timm

截至25.7.21,由于timm,pycocotools包和panopticapi包更新及windows或py3.7兼容性问题,故通过不同方式来安装,首先通过pip安装除三个包以外的其他包。

然后安装兼容python3.7版本的safetensors==0.3.3(或其他兼容版本)

pip install safetensors==0.3.3
pip install timm

直接安装window预编译的pycocotools包,

pip install pycocotools-windows

最后从git仓库安装panopticapi

git clone https://github.com/cocodataset/panopticapi
cd panopticapi
pip install -e .
2.3 部署与测试

① 编译cuda算子

# 进入目录
cd models/dino/ops
# 编译
python setup.py build install

② 测试

# unit test (should see all checking is True)
python test.py

windows下显存不够的话,大参数量测试可能会出现out of memory,也为成功部署。

以上,DINO在windows上的部署完成。

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值