使用ResNet-50的狗品种分类

2020-3-29 20:46| 查看: 1345

摘要: 预训练模型真的很棒。他们完成所有繁重的工作,并节省了时间,精力,血液,汗水,眼泪和GPU等等。他们接受了大量数据集的培训,并且由组织或开发人员社区不断进行改进。使用ResNet-50的狗品种分类让我们使用预先训练

预训练模型真的很棒。他们完成所有繁重的工作,并节省了时间,精力,血液,汗水,眼泪和GPU等等。他们接受了大量数据集的培训,并且由组织或开发人员社区不断进行改进。

使用ResNet-50的狗品种分类

使用ResNet-50的狗品种分类

让我们使用预先训练的模型,ResNet-50来分类狗的品种,并看看它是如何做到的。

注意:我在项目目录中的五个随机图片中保存了一个名为data的文件夹。我已将图片命名为dog1.jpeg,dog2.jpeg ... .dog5.jpeg。

导入库和模型

import numpy as np

from keras.applications import resnet50

from keras.preprocessing import image

选择图像,定义变量和模型

images_array = ["data/dog1.jpeg", "data/dog2.jpeg", "data/dog3.jpeg", "data/dog4.jpeg", "data/dog5.jpg"]

image_width = 224

image_length = 224

model = resnet50.ResNet50()

数据分类供应模型

def run_resnet_model(img_path):

img = image.load_img(path=img_path, target_size=(image_width, image_length))

X = image.img_to_array(img)

X = np.expand_dims(X, axis=0)

X = resnet50.preprocess_input(X)

X_Pred = model.predict(X)

display_prediction(resnet50.decode_predictions(X_Pred, top=1))

显示预测(s)

def display_prediction(pred_class):

for imagenet_id, name, likelihood in pred_class[0]:

print(" - {}: {:2f} likelihood".format(name, likelihood))

运行模型

for img in images_array:

run_model(img)

模型输出

Standard_schnauzer: 0.549144 likelihood

Weimaraner: 0.998188 likelihood

Shetland_sheepdog: 0.921892 likelihood

Affenpinscher: 0.839659 likelihood

American_Staffordshire_terrier: 0.763416 likelihood

正如你所看到的,我们的模型做得非常好,所有的分类都被发现了。希望这个小例子能帮助你完成深度学习任务。


鲜花

握手

雷人

路过

鸡蛋