MobileNet V1官方预训练模型的使用


使用MobileNet V1官方预训练模型示例,通过该代码可以快速接入MobileNet V1
资源截图
代码片段和文件信息
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.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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)