MobileNet V1官方预训练模型的使用
使用MobileNet V1官方预训练模型示例,通过该代码可以快速接入MobileNet V1
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-22 20:42 load_mobilenet_v1
文件 1934 2018-10-22 19:48 load_mobilenet_v1inference.py
文件 15161 2018-10-22 19:37 load_mobilenet_v1label.txt
文件 23043 2018-10-22 19:01 load_mobilenet_v1mobilenet_v1.py
文件 67903136 2018-08-03 09:38 load_mobilenet_v1mobilenet_v1_1.0_192.ckpt.data-00000-of-00001
文件 19954 2018-08-03 09:38 load_mobilenet_v1mobilenet_v1_1.0_192.ckpt.index
文件 3364912 2018-08-03 09:38 load_mobilenet_v1mobilenet_v1_1.0_192.ckpt.meta
目录 0 2018-10-22 19:50 load_mobilenet_v1 est_images
文件 36213 2018-10-22 18:57 load_mobilenet_v1 est_images est1.png
文件 385924 2018-10-22 19:32 load_mobilenet_v1 est_images est2.png
目录 0 2018-10-22 20:42 load_mobilenet_v1\__pycache__
文件 17213 2018-10-22 20:42 load_mobilenet_v1\__pycache__mobilenet_v1.cpython-36.pyc
import tensorflow as tf
from mobilenet_v1 import mobilenet_v1mobilenet_v1_arg_scope
import cv2
import os
import numpy as np
slim = tf.contrib.slim
CKPT = ‘mobilenet_v1_1.0_192.ckpt‘
dir_path = ‘test_images‘
def build_model(inputs):
with slim.arg_scope(mobilenet_v1_arg_scope(is_training=False)):
logits end_points = mobilenet_v1(inputs is_training=False depth_multiplier=1.0 num_classes=1001)
scores = end_points[‘Predictions‘]
print(scores)
#取概率最大的5个类别及其对应概率
output = tf.nn.top_k(scores k=3 sorted=True)
#indices为类别索引,values为概率值
return output.indicesoutput.values
def load_model(sess):
loader = tf.train.Saver()
loader.restore(sessCKPT)
def get_data(path_listidx):
img_path = images_path[idx]
img = cv2.imread(img_path)
img = cv2.cvtColor(imgcv2.COLOR_BGR2RGB)
img = cv2.resize(img(192192))
img = np.expand_dims(imgaxis=0)
img = (img/255.0-0.5)*2.0
return img_pathimg
def load_label():
label=[‘其他‘]
with open(‘label.txt‘‘r‘encoding=‘utf-8‘) as r:
lines = r.readlines()
for l in lines:
l = l.strip()
arr = l.split(‘‘)
label.append(arr[1])
return label
inputs=tf.placeholder(dtype=tf.float32shape=(11921923))
classes_tfscores_tf = build_model(inputs)
images_path =[dir_path+‘/‘+n for n in os.listdir(dir_path)]
label=load_label()
with tf.Session() as sess:
load_model(sess)
for i in range(len(images_path)):
pathimg = get_data(images_pathi)
classesscores = sess.run([classes_tfscores_tf]feed_dict={inputs:img})
print(‘
识别‘path‘结果如下:‘)
for j in range(3):#top 3
idx = classes[0][j]
score=scores[0][j]
print(‘ No.‘j‘类别:‘label[idx]‘概率:‘score)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-22 20:42 load_mobilenet_v1
文件 1934 2018-10-22 19:48 load_mobilenet_v1inference.py
文件 15161 2018-10-22 19:37 load_mobilenet_v1label.txt
文件 23043 2018-10-22 19:01 load_mobilenet_v1mobilenet_v1.py
文件 67903136 2018-08-03 09:38 load_mobilenet_v1mobilenet_v1_1.0_192.ckpt.data-00000-of-00001
文件 19954 2018-08-03 09:38 load_mobilenet_v1mobilenet_v1_1.0_192.ckpt.index
文件 3364912 2018-08-03 09:38 load_mobilenet_v1mobilenet_v1_1.0_192.ckpt.me
目录 0 2018-10-22 19:50 load_mobilenet_v1 est_images
文件 36213 2018-10-22 18:57 load_mobilenet_v1 est_images est1.png
文件 385924 2018-10-22 19:32 load_mobilenet_v1 est_images est2.png
目录 0 2018-10-22 20:42 load_mobilenet_v1\__pycache__
文件 17213 2018-10-22 20:42 load_mobilenet_v1\__pycache__mobilenet_v1.cpython-36.pyc
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)