matlab2017调用vgg19,TensorFlow vgg19 图像识别

下载vgg预训练模型

https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg19_weights_tf_dim_ordering_tf_kernels.h5

百度

链接:https://pan.baidu.com/s/1XIXfmJ9bJsRQj1nQKAq7jg 密码:c69e

如果使用默认参数,会自动下载模型500多M

def VGG19(include_top=True,

weights='imagenet',

input_tensor=None,

input_shape=None,

pooling=None,

classes=1000):

下载vgg19 对应的labels,预测结果的数字与分类的对应关系

249d96005e8ea2d42ba988614b8620b7.png

使用时,需要调整大小

im = cv.imread(path).astype(np.float32)

im = cv.resize(im, (224, 224))

im = np.expand_dims(im, axis=0) # (1, 224, 224, 3)

print(im.shape)

代码

from tensorflow.python.keras.applications.vgg19 import VGG19

import cv2 as cv

import numpy as np

import json

import os

import time

# '''https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg19_weights_tf_dim_ordering_tf_kernels.h5'''

model = VGG19(weights="D:/迅雷下载/vgg19_weights_tf_dim_ordering_tf_kernels.h5")

with open('imagenet_1000_labels.json') as f:

labels = json.load(f)

def solve(path):

im = cv.imread(path).astype(np.float32)

im = cv.resize(im, (224, 224))

im = np.expand_dims(im, axis=0) # (1, 224, 224, 3)

print(im.shape)

out = np.argmax(model.predict(im))

return (out, labels[out])

img_dir = 'imgs'

for name in os.listdir(img_dir):

st = time.time()

res = solve(os.path.join(img_dir, name))

ed = time.time()

print(name, res, ed - st)

预测结果,可以看到第一次花了20多秒,后面就好一点

cat.jpg (285, 'Egyptian cat') 25.418004035949707

(1, 224, 224, 3)

dog.jpg (167, 'English foxhound') 0.12366938591003418

(1, 224, 224, 3)

img.jpg (767, 'rubber eraser, rubber, pencil eraser') 0.474367618560791

(1, 224, 224, 3)

img2.jpg (33, 'loggerhead, loggerhead turtle, Caretta caretta') 0.5545673370361328

(1, 224, 224, 3)

test.jpg (459, 'brassiere, bra, bandeau') 0.17692995071411133

对应的图片,可以说已经很满足需求了。。。。。。

a83ce398c583e8737720e7dbe28d4c09.png

c8c19cbec41b95186447d57c44822cbf.png

0f71c2058fe3e307033acc5ae5e60390.png

bf297cd306600264058fdedfa679027f.png

48351da8129e3dfb0ece69b37dadb49b.png

c35810512036bf612b1803651f6e8e18.png

fc000d0187c72a11aa709bbdd8ed1881.png

5d85597a10175c1dfc49c9e198ae852b.png

34930d4ff1c18c833c92d10eca5ed4d3.png

7ddd95762ec2a2d548c8b5ff4db8369f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值