PyTorch开源图像分类工具箱MMClassification详解

作者:fengbingchun 时间:2023-11-21 02:20:06 

MMClassification是一个基于PyTorch的开源图像分类工具箱,是OpenMMLab项目的一部分,源码传送门,最新发布版本为v0.23.2,License为Apache-2.0。它支持在Windows、Linux和Mac上运行。

1.安装:使用conda安装

(1).创建openmmlab虚拟环境:

conda create -n openmmlab python=3.8
conda activate openmmlab

(2).安装PyTorch:这里PyTorch使用1.11.0版本,CUDA使用10.2版本,此CUDA版本对PyTorch各版本都支持

conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=10.2 -c pytorch

(3).安装MMCV:MMCV有两个版本,这里安装带CUDA的mmcv-full

1).mmcv-full: 完整版,包含所有的特性以及丰富的开箱即用的CUDA算子,安装此版本需要较长时间。

2).mmcv:精简版,不包含CUDA算子但包含其余所有特性和功能,类似MMCV 1.0之前的版本。

不要在同一个环境中安装两个版本,否则可能会遇到类似ModuleNotFound的错误。在安装一个版本之前,需要先卸载另一个:

pip uninstall mmcv-full
pip uninstall mmcv

注意:这里mmcv-full使用1.5.3版本。CUDA版本和PyTorch版本与安装PyTorch时保持一致

pip install mmcv-full==1.5.3 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.11.0/index.html

(4).安装MMClassification:没有通过源码安装

pip install mmcls==0.23.2

2.测试:论文:《Very Deep Convolutional Networks for Large-Scale Image Recognition》

ImageNet数据集:是根据WordNet层次结构组织的图像数据集,ImageNet_1000_label中给出了1000类别中label对应的id值。

(1).下载模型(checkpoint):

def download_checkpoint(path, name, url):
if os.path.isfile(path+name) == False:
print("checkpoint(model) file does not exist, now download ...")
subprocess.run(["wget", "-P", path, url])
path = "../../data/model/"
checkpoint = "vgg19_batch256_imagenet_20210208-e6920e4a.pth"
url = "https://download.openmmlab.com/mmclassification/v0/vgg/vgg19_batch256_imagenet_20210208-e6920e4a.pth"
download_checkpoint(path, checkpoint, url)

(2).根据配置文件和checkpoint文件构建模型:

config = "../../src/mmclassification/configs/vgg/vgg19_8xb32_in1k.py"
model = init_model(config, path+checkpoint, device)

(3).准备测试图像:原始图像来自网络

image_path = "../../data/image/"
image_name = "6.jpg"

PyTorch开源图像分类工具箱MMClassification详解

(4).进行推理:

result = inference_model(model, image)
print(mmcv.dump(result, file_format='json', indent=4))
# show_result_pyplot(model, image, result)

执行结果如下图所示:

PyTorch开源图像分类工具箱MMClassification详解

GitHub传送门

来源:https://blog.csdn.net/fengbingchun/article/details/126570201

标签:PyTorch,MMClassification,图像分类
0
投稿

猜你喜欢

  • tab(标签)在使用时的禁忌

    2009-04-16 13:06:00
  • python获取各操作系统硬件信息的方法

    2021-03-29 17:09:05
  • asp.net下利用js实现返回上一页的实现方法小集

    2024-05-28 15:37:22
  • Python中import导入上一级目录模块及循环import问题的解决

    2021-09-16 00:53:44
  • mysql 5.7.13 安装配置方法图文教程(linux)

    2024-01-27 20:46:37
  • Python基于mysql实现学生管理系统

    2024-01-24 05:57:47
  • Oracle 查看表空间的大小及使用情况sql语句

    2023-07-14 20:06:31
  • Python实现爬取逐浪小说的方法

    2022-05-26 22:31:29
  • javascript 获取硬盘信息代码

    2007-12-08 21:27:00
  • Python对象与json数据的转换问题实例详解

    2023-10-27 22:08:39
  • ASP自动解压RAR文件代码

    2007-11-06 13:29:00
  • 另外一种斜体的导航条

    2008-11-05 12:24:00
  • Python之ascii转中文的实现

    2023-08-24 19:39:12
  • DD_belatedPNG,解决IE6不支持PNG绝佳方案

    2009-04-27 16:30:00
  • python+selenium+chrome批量文件下载并自动创建文件夹实例

    2022-09-14 09:56:42
  • MySQL基本操作语句小结

    2024-01-19 16:02:30
  • python实现redis三种cas事务操作

    2022-08-27 01:50:59
  • python 实现多维数组(array)排序

    2022-03-26 07:35:48
  • 如何使用Python发送HTML格式的邮件

    2022-10-01 12:24:02
  • MYSQL主从数据库同步备份配置的方法

    2024-01-23 15:03:43
  • asp之家 网络编程 m.aspxhome.com