MMDetection代码课
MMDetection版本变化
MMDetection3.0通过更细粒度的模块解耦,进一步拆解出了数据、模型、评测等抽象,并对这些接口进行了统一设计。通过对MMEngine和MMCV的重新适配,使得MMDetection的速度和精度得到提高。
环境配置
# Check nvcc version
!nvcc -V
# Check GCC version
!gcc --version
# # 安装 mmengine 和 mmcv 依赖
# # 为了防止后续版本变更导致的代码无法运行,我们暂时锁死版本
# !pip install -U "openmim==0.3.7"
# !mim install "mmengine==0.7.1"
# !mim install "mmcv==2.0.0"
# # Install mmdetection
# !rm -rf mmdetection
# # 为了防止后续更新导致的可能无法运行,特意新建了 tutorials 分支
# 之前的课程配置过内容,所以就不重新配置环境了,重新clone一下代码库
!git clone -b tutorials https://github.com/open-mmlab/mmdetection.git
%cd mmdetection
%pip install -e .
打印环境信息
from mmengine.utils import get_git_hash
from mmengine.utils.dl_utils import collect_env as collect_base_env
import mmdet
# 环境信息收集和打印
def collect_env():
"""Collect the information of the running environments."""
env_info = collect_base_env()
env_info['MMDetection'] = f'{
mmdet.__version__}+{
get_git_hash()[:7]}'
return env_info
if __name__ == '__main__':
for name, val in collect_env().items():
print(f'{
name}: {
val}')
准备数据集
! rm -rf cat_dataset*
! wget https://download.openmmlab.com/mmyolo/data/cat_dataset.zip
! unzip cat_dataset.zip -d cat_dataset && rm cat_dataset.zip
下载好的数据集已经是COCO格式的了,可以对数据进行可视化
import os
import matplotlib.pyplot as plt
from PIL import Image
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
original_images = []
images = []
texts = []
plt.figure(figsize=(16, 5))
image_paths= [filename for filename in os.listdir('cat_dataset/images')][:8]
for i,filename in enumerate(image_paths):
name = os.path.splitext(filename)[0]
image = Image.open('cat_dataset/images/'+filename).convert("RGB")
plt.subplot(2, 4, i+1)
plt.imshow(image)
plt.title(f"{
filename}")
plt.xticks([])
plt.yticks([])
plt.tight_layout

本文详细介绍了MMDetection的版本更新,如何配置环境,安装依赖,并提供了数据集准备和可视化步骤。接着,文章展示了模型训练的过程,以及使用Grad-CAM进行特征图和注意力区域的可视化分析,帮助理解模型的决策过程。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



