手写数字识别-paddle版
平台
https://www.paddlepaddle.org.cn/
环境变量
# 路径
data_dir = '../data'
model_dir = 'inference_model'
base_dir = '{}/{}'.format(data_dir, model_dir)
# 模型名称
model_name = 'minist'
model_file = '{}/{}'.format(base_dir, model_name)
model_dynamic_file = '{}/{}/{}'.format(data_dir,'dynamic_model', model_name)
加载模型,并推理
import paddle
import numpy as np
# 引用 paddle inference 预测库
import paddle.inference as paddle_infer
from paddle.vision.transforms import Normalize
def main():
# 归一化函数,对[0-255]数据进行归一化,这样好处理
transform = Normalize(mean=[127.5], std=[127.5], data_format='CHW')
test_dataset = paddle.vision.datasets.MNIST(mode='test', transform=transform)
# 设置输入
fake_input = np.asarray(test_dataset[1][0]).reshape([1,1,28,28])
# print(fake_input)
# 设置Config
config = set_config()
# 创建Predictor
predictor = paddle_infer.create_predictor(config)
# 获取输入的名称
input_names = predictor.get_input_names()
input_tensor = predictor.get_input_handle(input_names[0])
# 设置输入
# fake_input = np.random.randn(1,784).astype("float32")
input_tensor.copy_from_cpu(fake_input)
# 运行predictor
predictor.run()
# 获取输出
output_names = predictor.get_output_names()
output_tensor = predictor.get_output_handle(output_names[0])
output_data = output_tensor.copy_to_cpu() # numpy.ndarray类型
print("输出的形状如下: ")
print(output_data.shape)
print(output_data.argmax())
def set_config():
pdmodel_file = '{}.pdmodel'.format(model_file)
pdiparams_file = '{}.pdiparams'.format(model_file)
print('模型: {}'.format(pdmodel_file))
config = paddle_infer.Config(pdmodel_file, pdiparams_file)
config.disable_gpu()
return config
if __name__ == "__main__":
main()
可视化图片
import paddle
# 可视化图片
from matplotlib import pyplot as plt
test_dataset = paddle.vision.datasets.MNIST(mode='test')
# 从测试集中取出一张图片
img, label = test_dataset[1]
print(img)
plt.imshow(img)
plt.show()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
2022-04-08 solidity智能合约开发实例
2021-04-08 Hyperledger fabric 证书详解
2021-04-08 org3-crypto.yaml 详解
2020-04-08 redhat7.4 docker run启动容器报错container_linux.go:449
2020-04-08 centos7 yum下载安装报错:软件包与预期下载的不符
2020-04-08 Centos7默认安装的docker版本说明