kaggle之本地运行识别狗品种
在搭建了深度学习环境后,第一件事就是试试行不行,最简单的当然是使用已经训练好的模型拿来预测新样本了。这里我们使用kaggle上面训练好的狗狗品种预测模型进行使用说明。(后面有完整的数据和脚本,下载到本地即可运行。)
1.加载待预测图片
from os.path import join
image_dir = 'train/'
img_paths = [join(image_dir, filename) for filename in
['0246f44bb123ce3f91c939861eb97fb7.jpg',
'84728e78632c0910a69d33f82e62638c.jpg']]
这里选用了2张图片,保存在img_paths的list里面。
2.定义读取和预处理图片的函数
import numpy as np
from tensorflow.python.keras.applications.resnet50 import preprocess_input
from tensorflow.python.keras.preprocessing.image import load_img, img_to_array
image_size = 224
def read_and_prep_images(img_paths, img_height=image_size, img_width=image_size):##定义处理函数
imgs = [load_img(img_path, target_size=(img_height, img_width)) for img_path in img_paths]
img_array = np.array([img_to_array(img) for img in imgs])
return preprocess_input(img_array)
3.导入模型并预测
from tensorflow.python.keras.applications import ResNet50
my_model = ResNet50(weights='../resnet50/resnet50_weights_tf_dim_ordering_tf_kernels.h5')
test_data = read_and_prep_images(img_paths)
preds = my_model.predict(test_data)
4.查看并可视化预测结果
import sys
# Add directory holding utility functions to path to allow importing
sys.path.append('~/utils')
from decode_predictions import decode_predictions
from IPython.display import Image, display
most_likely_labels = decode_predictions(preds, top=3, class_list_path='../resnet50/imagenet_class_index.json')
for i, img_path in enumerate(img_paths):
display(Image(img_path))
print(most_likely_labels[i])
[('n02097209', 'standard_schnauzer', 0.56502265), ('n02097047', 'miniature_schnauzer', 0.31319875), ('n02097130', 'giant_schnauzer', 0.045194548)]
[('n02092339', 'Weimaraner', 0.99767154), ('n02099849', 'Chesapeake_Bay_retriever', 0.001392837), ('n02109047', 'Great_Dane', 0.00032280287)]
可以看到,结果已经跑出来了,而且跟kaggle云端的运行结果一致。由于官方api下载速度非常慢还经常挂掉,而且文件路径等问题需要处理细节挺多。
为方便新手在本地服务器上测试运行,我这里把数据下载好并将自己测试运行的脚本打包到百度网盘了,大家直接下载使用便是。
数据下载地址:
链接: https://pan.baidu.com/s/1UqK8mJF97VzKh5abuxkH8g 提取码: cxkf
使用方法
1.解压到当前文件夹,运行jupyter notebook
2.打开dog_breed目录
3.加载目录下的run_model.ipynb运行便可
- 原文作者:春江暮客
- 原文链接:https://www.bobobk.com/127.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。