MMclassification的安装

最近在安装mmlab下面的mmclassification,遇到了不少问题。记录一下在安装的过程中的报错以及解决办法。

因为看到大家很多是在linux下环境进行安装的,目前还没有应用linux进行安装,以下都是在windows环境下进行安装。

第 1 步 从官网(Index of /anaconda/archive/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror)下载并安装 Anaconda。 这里有详细教程

(135条消息) anaconda安装-超详细版_plasma-deeplearning的博客-CSDN博客_anaconda

第 2 步 创建一个 conda 虚拟环境并激活它。注意 这一步需要在Powershell Prompt中完成

conda create --name openmmlab python=3.8 -y
conda activate openmmlab

第 3 步 按照官方指南安装 PyTorch。例如:

这里分为两种情况 GPU安装和CPU安装 这里以CPU安装为例进行说明

conda install pytorch torchvision cpuonly -c pytorch

这些步骤进行结束后,我们已经安装了mmclassification的基本环境,之后我们就要开始安装mmclassification的核心内容。

第 4 步 使用 MIM 安装 MMCV

这里建议大家在进行之前先升级一下pip,会省掉后面很多的麻烦

pip install --upgrade pip  
之后我们进行openmim的安装
pip install -U openmim

进行这一步安装的时候注意网络一定要稳定,否则会出现这样的情况

如果出现了这样的情况,我们可以利用清华镜像进行安装

pip install -U openmim https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

这样的话网速就会快很多。如果使用镜像安装依然不成功,那只能多试官网提供的方法,多试几次之后成功的概率会大很多。

之后我们进行mmcv的安装

mim install mmcv-full

这里的安装方法和openmim很像,出错的问题也很像,完全可以参照上面的方法。

第 5 步 安装 MMClassification

git clone https://github.com/open-mmlab/mmclassification.git

因为这里是通过github安装,网络可能不稳定,大家多试几次就好了

cd mmclassification

安装成功之后我们转到mmclassification下面

pip install -v -e .
-v  表示输出更多安装相关的信息
-e 表示以可编辑形式安装,这样可以在不重新安装的情况下,让本地修改直接生效

在这里进行安装的时候会报错说很多各种各样的库比如numpy,matplotlib等等,这个时候按照第四步利用清华镜像一个一个去安装就好了,那个库没安装我们就安装那个,等到安装完成之后我们再尝试这个命令。

如果能够出现这样的情况,说明MMClassification 已经安装正确了

在结束了安装之后,我们需要通过一些步骤去验证我们的安装

第 1 步 我们需要下载配置文件和模型权重文件

mim download mmcls --config resnet50_8xb32_in1k --dest .

在执行的过程中可能会有一大堆报错我们不需要管,但最后会有一个

这个时候我们就需要安装mmengine,但是提示给的命令会有很多错误,这个时候我们可以尝试用这种方法安装mmengine

mim install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn mmengine

安装完成之后再尝试第一步的命令,出现下面的图片说明配置文件和模型权重文件已经配置成功了

第 2 步 验证示例的推理流程

因为我是源码安装的,所以直接用命令行进行验证

python demo/image_demo.py demo/demo.JPEG resnet50_8xb32_in1k.py resnet50_8xb32_in1k_20210831-ea4938fc.pth --device cpu

但是会说没有安装torchvision,我们用下面的代码安装

pip install torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn

之后再尝试之前的源码,就会出现pre-label,pre-score,pre-name三个内容

另外如果你拥有图形 界面(而不是使用远程终端),那么可以启用 --show 选项,将示例图像和对应的预测结果在窗口中进行显示。

python demo/image_demo.py demo/demo.JPEG resnet50_8xb32_in1k.py resnet50_8xb32_in1k_20210831-ea4938fc.pth --device cpu --show

最后的图片效果如下:

如果我们修改一下其他的图片(只要是"mmclassification\demo\)下的文件都可以,也会有相同的结果。

我们以cat-dog为例

python demo/image_demo.py demo/cat-dog.png resnet50_8xb32_in1k.py resnet50_8xb32_in1k_20210831-ea4938fc.pth --device cpu --show

再以bird为例

python demo/image_demo.py demo/bird.JPEG resnet50_8xb32_in1k.py resnet50_8xb32_in1k_20210831-ea4938fc.pth --device cpu --show

我们看到这里的score达到了0.99 说明任务准确性是非常高的。

但是当分类荷花的时候就有问题了,当我们放一张荷花的图片,出来的class是蚂蚁。

我们也能看到score也是很低的。

那么,我们就可以用这个实现基本的分类任务了。

大家完全可以自己在网上找图片进行验证。

后续会更新自己构建数据集进行识别。

谢谢大家!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值