资源简介

使用训练好的模型进行预测,可以与我的模型训练和保存配套使用

资源截图

代码片段和文件信息

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Yyb
# @Time: 2018/12/29 14:51

from paddle import fluid
import paddle
import numpy as np
import struct

from skimage import io transform
import time
import os
import shutil
from PIL import Image
# 创建执行器
place = fluid.CPUPlace()
exe = fluid.Executor(place)
exe.run(fluid.default_startup_program())

# 保存预测模型路径
save_path = ‘models/infer_model/‘
# 从模型中获取预测程序、输入数据名称列表、分类器
[infer_program feeded_var_names target_var] = fluid.io.load_inference_model(dirname=save_path executor=exe)


def load_image(file):
    image = io.imread(file as_gray=True)  # 直接读取的数据是高、宽、通道格式的
    image_shape = image.shape
    image = transform.resize(image (28 28))  # 缩放是有损的
    image = np.array(image).astype(np.float32)
    # print(image)
    return image.reshape(1 1 28 28)  # 预测的shape是(batch数,通道数,宽度,高度)

# 加载数据并开始预测
img = load_image(r‘D:\always_use\data_shopper\digits_picture\infer_3.png‘)
# 读取单张图片进行预测
results = exe.run(program=infer_program
                  feed={feeded_var_names[0]: img}
                  fetch_list=target_var)
# 获取概率最大的标签
lab = np.argsort(results)[0][0]
for i in lab:
    print(‘预测结果为:{}, 概率为:{}‘.format(i results[0][0][i]))
lab_1 = np.argsort(results)[0][0][-1]
print(‘预测结果为:{},实际值为:3, 概率为:{}‘.format(lab_1 results[0][0][lab_1]))
print(‘***************‘)
# 获取mnist数据进行预测
def reader_mnist_test(data_path n_start n_end):  # mnist测试集的读取器
    # 读取mnist测试集标签
    def decode_idx1_ubyte(idx1_ubyte_file):
        with open(idx1_ubyte_file ‘rb‘) as 

评论

共有 条评论