Configuración del algoritmo de detección de objetivos ICCV2021 SwinT (Swin Transformer: Jerarchical Vision Transformer usando Shifted Windows)

1. Dirección de descarga del artículo: 

Swin Transformer: Transformador de visión jerárquica que utiliza ventanas desplazadas. [ papel ]

 2. Dirección de descarga del código:

SwinT se puede utilizar para clasificación, detección, segmentación y otras tareas.

Dirección original (este código se utiliza para la clasificación de imágenes):

https://github.com/microsoft/Swin-Transformer

Descargue el código de detección de objetivos:

https://github.com/SwinTransformer/Swin-Transformer-Object-Detection

3. Cree un nuevo entorno virtual de Python y actívelo.

conda create -n SwinTrans python=3.7
conda activate SwinTrans

4. Instale pytorch y torchvision

pip3 install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

Nota: Debido a que el autor entrenó el modelo utilizando una versión superior de la antorcha, la versión de la antorcha instalada debe ser mayor o igual a 1.6.0. Cuando instalé por primera vez torch 1.4.0, se produjo el siguiente error al cargar el modelo previamente entrenado proporcionado por el autor:

RuntimeError: version_ <= kMaxSupportedFileFormatVersion FALLÓ LA ASENTACIÓN INTERNA en /pytorch/caffe2/serialize/inline_container.cc:132, informe un error a PyTorch. Intenté leer un archivo PyTorch con la versión 3, pero la versión máxima admitida para lectura es 2. Es posible que su instalación de PyTorch sea demasiado antigua. (init en /pytorch/caffe2/serialize/inline_container.cc:132)
cuadro #0: c10::Error::Error(c10::SourceLocation, std::string const&) + 0x33 (0x7f7cdd46a193 en /home1/users/huangbo /anaconda3/envs/SwinTrans/lib/python3.7/site-packages/torch/lib/libc10.so)
cuadro #1: caffe2::serialize::PyTorchStreamReader::init() + 0x1f5b (0x7f7c548399eb en /home1/users /huangbo/anaconda3/envs/SwinTrans/lib/python3.7/site-packages/torch/lib/libtorch.so)
cuadro #2: caffe2::serialize::PyTorchStreamReader::PyTorchStreamReader(std::string const&) + 0x64 (0x7f7c5483ac04 en /home1/users/huangbo/anaconda3/envs/SwinTrans/lib/python3.7/site-packages/torch /lib/libtorch.so)
cuadro #3: <función desconocida> + 0x6c6536 (0x7f7c9c76b536 en /home1/users/huangbo/anaconda3/envs/SwinTrans/lib/python3.7/site-packages/torch/lib/libtorch_python.so )
cuadro #4: <función desconocida> + 0x295a74 (0x7f7c9c33aa74 en /home1/users/huangbo/anaconda3/envs/SwinTrans/lib/python3.7/site-packages/torch/lib/libtorch_python.so)
<omitiendo marcos de Python>
cuadro #46: __libc_start_main + 0xf0 (0x7f7cee1fb840 en /lib/x86_64-linux-gnu/libc.so.6)

5. Instale mmcv-full

pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html


# 推荐用mmcv-full==1.2.4

Mi versión de CUDA es 10.1 y la versión de torch es 1.6.0. Realice cambios específicos. La instalación y compilación llevarán mucho tiempo, tenga paciencia.
6. Instale MMDetection

Ingrese la ruta del proyecto y ejecute:

pip install -r requirements/build.txt

python setup.py develop

7. Descargue el modelo previamente entrenado

Ingrese el código de extracción para Baidu Netdisk

contraseña: swin

Cree una nueva ruta de puntos de control y colóquela

 8. Cree un nuevo demo.py e ingrese el siguiente código:

from mmdet.apis import init_detector, inference_detector, show_result_pyplot
import cv2

config_file = 'configs/swin/cascade_mask_rcnn_swin_small_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py'

# download the checkpoint from model zoo and put it in `checkpoints/`
checkpoint_file = 'checkpoints/cascade_mask_rcnn_swin_small_patch4_window7.pth'
device = 'cuda:0'
# init a detector
model = init_detector(config_file, checkpoint_file, device=device)
# inference the demo image

image='demo/demo.jpg'

result = inference_detector(model, image)

show_result_pyplot(model, image, result, score_thr=0.3)

# image = model.show_result(image, result, score_thr=0.3)
#
# cv2.imshow('demo', image)
# cv2.waitKey()

9. Ejecute python demo.py para obtener los resultados de la predicción.

Supongo que te gusta

Origin blog.csdn.net/qq_17783559/article/details/119381672
Recomendado
Clasificación