利用魔搭中的开源模型进行动物识别

细粒度动物识别(8k类)模型介绍

本模型是对含有动物的图像进行标签识别,无需任何额外输入,输出动物的类别标签,目前已经覆盖了8K多类的细粒度的动物类别。

模型描述

模型采用resnest101网络结构。

使用方式和范围

使用方式:

  • 直接推理,对输入的图像,输入图像直接进行推理。

使用场景:

  • 适合含有动物的图像进行动物标签识别,期望图像中动物占比不要过小。

代码范例:

# encoding=utf-8
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
import torchvision
from PIL import Image


image = Image.open('./cat.jpeg')
print(image.size)
image = image.resize((256, 256))
# 生成一个CenterCrop类的对象,用来将图片从中心裁剪成224*224
crop_obj = torchvision.transforms.CenterCrop((224, 224))
image = crop_obj(image)
print(image.size)

animal_recognition = pipeline(
            Tasks.animal_recognition,
            model='damo/cv_resnest101_animal_recognition',)
result = animal_recognition('./cat.jpeg')
print(result)

注:训练集为自己提供的,输入数据集之前需要对数据集进行预处理。 

训练数据

训练数据共约700w带有动物标签的数据。

模型训练

预处理

图像输入:resize到256*256,然后CenterCrop到224*224。

LR scheduler

初始LR为 0.0003,每隔10个epoch,lr调整为原来的1/4,共训练100个epoch。

本地环境使用

下载并安装ModelScope library

pip install "modelscope[cv]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

 模型加载和推理

from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

animal_recognition = pipeline('animal-recognition', 'damo/cv_resnest101_animal_recognition')

提供input输入

result = animal_recognition('xxx.jpg')  # 这里为自己的数据集 

你可能感兴趣的:(深度学习,人工智能,深度学习)