Pytorch实战6—win10使用CPU在mmclassification训练

文章提供了MMClassification的详细安装步骤,包括Anaconda环境配置、PyTorch和Torchvision的安装,以及mmcv和相关软件包的安装。接着,阐述了如何在PyCharm中编译代码,添加自定义模型和数据集,以及训练过程。此外,文章还讨论了训练结果的验证方法,模型效果的测试,以及可视化和分析工具的使用。
摘要由CSDN通过智能技术生成

目录

1. mmclassification安装教程

(2)安装pytorch和torchvision

(3)安装openmim

(4)安装mmcv

(5)安转常用的软件包 

(6)下载mmclassification源码

(7)安装mmclassification

(8)测试是否安装成功

 2. 在pycharm中编译代码

  (1)使用在pycharm打开项目工程文件夹

​编辑

(2) 添加自己的模型

(3)添加自己的数据集

(4)定义自己的数据处理类 MyFilelist

(5)__init__.py文件导入自己的MyFilelist模块

(6)设置训练使用CPU

(7)编译配置

(8)编译结果 

3. 训练结果验证

  (1)验证环境配置

 (2)验证结果

4. 测试评估模型效果 

      (1)测试环境配置

5. 可视化模块介绍visualizations

 (1)编译环境配置

   (2)数据处理可视化 vis_pipeline.py

(3)grad-cam可视化

 6. analysis_toolsgon模型分析工具介绍

 (1)analyze_logs.py

 (2)get_flops.py 计算力


1. mmclassification安装教程

   (1)首先安装Anaconda

    创建一个 conda python3.8 的虚拟环境并激活它 ,在windows命令行下执行

conda create --name openmmlab python=3.8 -y

创建结束后激活环境

conda activate openmmlab

激活成功后可以看到命令行有:“openmmlab”代表激活成功

(2)安装pytorch和torchvision

     与python3.8 对应的  pytorch 、torchvision版本分别是 

pytorch==1.8.0 torchvision==0.9.0

 可到连接中https://download.pytorch.org/whl/torch_stable.htm  寻找对应的版本

下载后 在命令行中 使用下面命令安装

pip instll  torch-1.8.0+cpu-cp38-cp38-win_amd64.whl

pip install torchvision-0.9.0+cpu-cp38-cp38-win_amd64.whl

(3)安装openmim

pip install -U openmim

(4)安装mmcv

mim install mmcv-full

(5)安转常用的软件包 
 

pip install scikit-image -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install pillow -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install opencv-python -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install tqdm -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install matplotlib -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install wandb -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install tensorboard -i https://pypi.mirrors.ustc.edu.cn/simple/

(6)下载mmclassification源码

https://github.com/open-mmlab/mmclassification 到该链接中下载源码

(7)安装mmclassification

       进入代码的 cd mmclassification-master

     (openmmlab) C:\Users\qinyiquan\Downloads\mmclassification-master>

 在此路径下执行

pip install -v -e .

 (8)测试是否安装成功

     分别执行下面命令

mim download mmcls --config resnet50_8xb32_in1k --dest .
python demo/image_demo.py demo/demo.JPEG resnet50_8xb32_in1k.py resnet50_8xb32_in1k_20210831-ea4938fc.pth --device cpu

 看到此运行结果证明安装成功

 2. 在pycharm中编译代码

  (1)使用在pycharm打开项目工程文件夹

 以使用resnet模型训练为例子 

   需要到的文件链接:https://pan.baidu.com/s/1RVAlr-uTczP2ZEHgFfdmVw 
                                  提取码:micx 

(2) 添加自己的模型

    在此路径mmclassification-master\configs\resnet\下定义自己的模型
       today_resnet18_8xb32_in1k.py


  
(3)添加自己的数据集

     在路径mmclassification-master\mmcls\data\flower_data下添加
     自己的数据集flower_data
  


(4)定义自己的数据处理类 MyFilelist

        today_resnet18_8xb32_in1k.py中定义自己的数据处理类 MyFilelist,
在mmclassification-master\mmcls\datasets\my_filelist.py 下定义

(5)__init__.py文件导入自己的MyFilelist模块

       在上一步路径下的__init__.py文件导入自己的MyFilelist模块
 from .my_filelist import MyFilelist 并在列表中添加自己的模块
 __all__ = [
     .......................,'MyFilelist'
]

(6)设置训练使用CPU

        在mmclassification-master\tools\train.py此文件中
  把device=cfg.device, 改为
        device='cpu',
  此处意为使用CPU训练

(7)编译配置

(8)编译结果 

       有此运行结果,证明编译成功

3. 训练结果验证

     (1)验证环境配置

             记得在/demo/demo_image.py中设置使用CPU

             args.device = 'cpu' #设置cpu运行,默认是使用cuda:0

 (2)验证结果

    用于验证的图片是类别1,在我们代码中分类值是从0开始

 结果显示如下:标签值为0,即对应原来的类别1,结果正确

4. 测试评估模型效果 

      (1)测试环境配置

            测试文件是tools/test.py, 根据该文件配置如下图 ,其中 --show 表示一张张图片显示出来, --show-dir 表示把测试待显示的图片结果保存到文件夹中

 如果有GPU的话就是这样的验证,但是我的电脑使用的是cpu,代码运行不了。

5. 可视化模块介绍visualizations

     可用于观看数据处理后的结果对比,比如在flower_data分类时,可以观看图片原始数据和预处理后的数据对比,这个过程与能否训练无关。

    (1)编译环境配置

       (2)数据处理可视化 vis_pipeline.py

配置环境就是给编译脚本vis_pipeline.py传递参数用于编译 

 

 环境配置好后编译,可以看到输出结果已经在我们配置好的目录中了

 

(3)grad-cam可视化

          可以观看验证结果中的侧重点,注意力。tools/visualizations/vis_cam.py 编译脚本,首先需要安装依赖包:pip install grad-cam

        以猫狗分类为例,下载使用classification 本来就训练好的模型         resnet18_8xb32_in1k_20210831-fbbb1da6.pth

     可以看到此时注意力在狗身上,默认使用的是 模型最后一层的输出结果,也可以观看其它层的输出结果。

 

  给vis_cam.py脚本传递  --preview-model 参数,就会打印出模型的各个层,然后在Parameters

中传入要查看的输出层结果。

例如我们查看layer4层conv2层的输出结果 

 

 

 grad-cam输出结果 

 

 6. analysis_toolsgon模型分析工具介绍

     (1)analyze_logs.py

        以训练后输出的log json为基础,可以画出json文件中一些数据的变化趋势图。

 

 损失和准确的变化去食堂,这里只训练了10次,可以看到损失呈现下降趋势,准确率呈现上升趋势。

 (2)get_flops.py 计算力

          flops是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。可以训练前计算任务需要的计算量。

 

 不指定图片大小,默认是224*224

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值