通过下面的一些命令就可以看到昨天理论课中提到的一些内容,比如经典主干网络的ResNet,多模态算法中BLIP等。安装配置好环境就可以做相应的训练了。
环境准备
首先准备python环境,先激活自己的虚拟环境
conda activate openmmlab
# 这里的openmmlab是我的虚拟环境名称,大家改为自己的虚拟环境名称即可
之前安装了MMPose和MMDetection的就已经安装了torch和cuda环境,没有安装的可以去前面的文章看看。
进入python交互式环境中
ipython
检查一下自己的pytorch的cuda支持
import torch
torch.__version__
torch.cuda.is_available()
exit()
安装MMPretrain算法库
git clone https://github.com/open-mmlab/mmpretrain
进入主目录
cd mmpretrain
安装mim
pip install openmim
# 可以通过下面的命令查看如何使用mim
mim --help
安装mmpretrain算法库
mim install -e ".[multimodal]"
安装好后就可以调用mmpretrain的模型进行推理。
应用
接下来演示一下图像分类和多模态中的描述功能。
进入python交互式环境
ipython
import mmpretrain
# 查看mmpretrain安装版本
mmpretrain.__version__
# 导入一些高阶的API,分别用来模型获取,模型列举,模型推理
from mmpretrain import get_model,list_models,inference_model
# 获取分类相关的模型
list_models(task='Image Classification',pattern='resnet18')
# 获取图像描述相关的模型
list_models(task='Image Caption',pattern='blip')
model = get_model('resnet18_8xb16_cifar10')
type(model)
model = get_model('resnet18_8xb32_in1k')
type(model.backbone)
# 没有加载预训练权重,所以推理结果应该是混乱的
inference_model(model,'demo/bird.JPEG',show=True)
list_models(task='Image Caption',pattern='blip')
inference_model('blip-base_3rdparty_caption','demo/cat-dog.png',show=True)
可以看到图像有描述信息了。