【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·003 用训练模型进行预测

    技术2022-07-11  157

    立即学习:https://edu.csdn.net/course/play/24719/279510?utm_source=blogtoedu

     

    目录

    一、用训练模型进行预测代码

    二、思路总结

    1、模型的导入

    2、测试图像的输入

    3、根据测试图像进行预测

    三、API总结


     

    一、用训练模型进行预测代码

    import cv2 import tensorflow as tf with tf.Session() as sess: """加载模型""" loader = tf.train.import_meta_graph("./model/model.meta") loader.restore(sess, './model/model') """开始识别""" capture = cv2.VideoCapture(0) while True: ret, frame = capture.read() # 获取一帧 show_img = frame.copy() # show_img是原图像frame的拷贝 crop_img = frame[100:200, 100:200] # crop_img是在原图像frame上的部分截取 cv2.rectangle(show_img, (100, 100), (200, 200), (0, 0, 255), 5) # 在show_img上画出截取部分的框框 cv2.imshow('frame', show_img) # 显示图片show_img k = cv2.waitKey(1) # OpenCV延迟1毫秒、同时检测是否有按键被按下(如果有键被按下时,将键值返回给q) # 按下Q键退出 if k == ord('q'): break # 按下S键进行识别 elif k == ord('s'): out = sess.run("output:0", feed_dict={"data_in:0": [crop_img]}) res = ['我', '好', '帅'][out[0]] print("识别结果:", res) cv2.imshow("crop", crop_img) capture.release() cv2.destroyAllWindows()

     

    二、思路总结

    1、模型的导入

    要有一个会话sess,要构建好模型载入器,要将模型文件路径填入,恢复到会话中

    2、测试图像的输入

    和准备数据集时同样的方法,使用cv调用摄像头,框选部分图像,作为输入

    3、根据测试图像进行预测

    在会话sess中运行模型中与输出相应的"name:后缀",同时将测试图像的数据feed给模型中与输入相应的"name:后缀",得到的返回值即为输出结果。

    这里需要注意的是,本质上sess读取的模型中就蕴含了原来训练时神经网络的结构,所以name要和原来训练时神经网络中变量的name相对应

     

    三、API总结

    API

    作用

    使用示例

    tf.train.import_meta_graph

    构建tf会话载入器

    loader = tf.train.import_meta_graph("./model/model.meta")

    *.restore

    将训练好的模型文件加载到会话中

    loader.restore(sess, './model/model')

    Processed: 0.009, SQL: 9