代码地址:GitHub - damo-cv/TransReID: [ICCV-2021] TransReID: 基于变压器的对象重新识别
git clone https://github.com/damo-cv/TransReID.git
配置环境
新建一个名为TransReID的python虚拟环境
conda create -n TransReID python=3.7
激活环境
conda activate TransReID
由于RTX3060不支持CUDA11以下版本
timm仅支持py3.7以上版本(先下载的py36,会报错版本不匹配)
最终选择
py3.7.13
torch1.10.2
torchvision0.11.3
cuda11.3.1
yacs
timm
opencv-python
强烈建议镜像下载安装(尤其是pytorch 注意版本限制)
下载好后cd到下载的文件夹
conda install --offline 文件名
其中opencv-python用pip install命令下载
数据集
并新建data文件夹,将数据集放在data/
data
├── VehicleID_V1.0
│ └── images ..
└── VeRi
└── images ..
预训练模型下载
ViT-Base, ViT-Small, DeiT-Small, DeiT-Base
调整源码
选择TransReID(ViT)和VeRi来复现
TEST
python test.py --config_file configs/VeRi/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')" TEST.WEIGHT '你的权重path'
出现错误
打开报错文件夹
注释掉这一行,加入如下代码段
import collections.abc as container_abcs
int_classes = int
string_classes = str
结果