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

 更新时间:2022年09月22日 15:59:45   作者:fengbingchun  
MMClassification是一款基于PyTorch的开源图像分类工具箱,集成了常用的图像分类网络,将数据加载,模型骨架,训练调参,流程等封装为模块调用,便于在模型间进行转换和比较,也高效简洁的实现了参数调整

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"

(4).进行推理:

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

执行结果如下图所示:

GitHub传送门

到此这篇关于PyTorch开源图像分类工具箱MMClassification详解的文章就介绍到这了,更多相关PyTorch MMClassification内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python进行常见图像形态学处理操作的示例代码

    Python进行常见图像形态学处理操作的示例代码

    这篇文章主要为大家详细介绍了如何使用Python进行常见的图像形态学处理,例如腐蚀、膨胀、礼帽、黑帽等,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • OpenCV+python手势识别框架和实例讲解

    OpenCV+python手势识别框架和实例讲解

    今天小编就为大家分享一篇OpenCV+python手势识别框架和实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 详解Python读取yaml文件多层菜单

    详解Python读取yaml文件多层菜单

    这篇文章主要介绍了Python读取yaml文件多层菜单,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • python读取Android permission文件

    python读取Android permission文件

    python解析json文件读取Android permission,同时可以学习到json的知识。
    2013-11-11
  • python绘制云雨图raincloud plot

    python绘制云雨图raincloud plot

    这篇文章主要介绍了python绘制云雨图raincloud plot,Raincloud的Python实现是一个名为PtitPrince的包,它写在seaborn之上,这是一个Python绘图库,用于从pandas数据帧中获取漂亮的绘图
    2022-08-08
  • python中常见的运算符及用法实例

    python中常见的运算符及用法实例

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算,下面这篇文章主要给大家介绍了关于python中常见的运算符及用法的相关资料,需要的朋友可以参考下
    2022-03-03
  • Python基础类继承重写实现原理解析

    Python基础类继承重写实现原理解析

    这篇文章主要介绍了Python基础类继承重写实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • python实现AES算法及AES-CFB8加解密源码

    python实现AES算法及AES-CFB8加解密源码

    这篇文章主要为大家介绍了python实现AES算法及AES-CFB8加解密的源码示例,有需要朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • Python使用字典实现的简单记事本功能示例

    Python使用字典实现的简单记事本功能示例

    这篇文章主要介绍了Python使用字典实现的简单记事本功能,结合实例形式分析了基于字典的数据存储、读取、删除等相关操作技巧,需要的朋友可以参考下
    2019-08-08
  • 如何通过python的fabric包完成代码上传部署

    如何通过python的fabric包完成代码上传部署

    这篇文章主要介绍了如何通过python的fabric包完成代码上传部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论