预训练模型真的很棒。他们完成所有繁重的工作,并节省了时间,精力,血液,汗水,眼泪和GPU等等。他们接受了大量数据集的培训,并且由组织或开发人员社区不断进行改进。 使用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
正如你所看到的,我们的模型做得非常好,所有的分类都被发现了。希望这个小例子能帮助你完成深度学习任务。 |