IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 部署准备1 -> 正文阅读

[Python知识库]部署准备1

目录

VisualDL可视化功能的使用

?VisualDL可视化结果

?预处理和后处理对齐

部署流程概括

准备环境。安装好CMake、OpenCV等工具

准备PaddleLite推理库

准备模型

构建并运行程序

总结

引用柠檬分类范例


?

两点:

  • 模型的输入与输出
  • 模型的预处理与后处理
    ?

如果你想了解一个陌生模型的输入与输出该怎么做呢?可以使用VisualDL的模型可视化功能观察模型的输入与输出。

如果你想了解一个陌生模型的预处理,后处理。该怎么做呢?以PaddleHub上的预训练模型为例。我们可以去阅读这个模型在Paddlehub上的源代码来了解它的预处理,后处理。

如果你无法得知模型的输入与输出、预处理与后处理,那么你是无法进行模型部署的。
?

部署时预处理与后处理与训练时对齐,这是部署时的难点。而不是部署框架使用的本身。


部署的原则,即与训练对齐。

为了进行部署,我们首先需要了解模型的输入与输出,及他的预处理和后处理。这些仍可以通过PaddlePaddle进行。

VisualDL可视化功能的使用

在代码中插入visualDL日志官方代码:

from visualdl import LogWriter

if __name__ == '__main__':
    value = [i/1000.0 for i in range(1000)]
    # 初始化一个记录器
    with LogWriter(logdir="./log/scalar_test/train") as writer:
        for step in range(1000):
            # 向记录器添加一个tag为`acc`的数据
            writer.add_scalar(tag="acc", step=step, value=value[step])
            # 向记录器添加一个tag为`loss`的数据
            writer.add_scalar(tag="loss", step=step, value=1/(value[step] + 1))

?点击可视化板块,选择存储日志目录,选择模型文件,即可得到visualDL结果。

?VisualDL可视化结果

根据结果可以看到模型的训练和测试结果的准确率上升,超过0.9,且loss下降至0.1以下,可以判定模型是合适的。

使用visualDL的网络结构功能,可以看到模型的输入和输出。

?

?预处理和后处理对齐

对于图像的预处理部分,还有许多不解,比如数据库的图片大小设置错了,尝试在代码上进行改动后,总是会有各种原因的报错,而且项目里似乎并没有后处理的部分,明天专门解决这部分的问题。

部署流程概括

准备环境。安装好CMake、OpenCV等工具

  • C++准备环境:

主要安装OpenCV3.2.0(推荐3.2)与CMake3.10

sudo apt-get update
sudo apt-get install gcc g++ make wget unzip libopencv-dev pkg-config
wget https://www.cmake.org/files/v3.10/cmake-3.10.3.tar.gz
tar -zxvf cmake-3.10.3.tar.gz
cd cmake-3.10.3
./configure
make
sudo make install
  • Python环境准备:

主要是安装,numpy(1.13.3),Pillow(8.1.0),matplotlib(2.1.1),OpenCV(3.2.0)(推荐3.2)

以上工具版本号仅供参考,非必须对齐。

优先推荐通过pip3 install xxx安装numpy,Pillow,matplotlib,OpenCV。

pip install numpy==1.13.3 pillow==8.1.0 matplotlib==2.1.1 opencv=3.2.0

安装matplotlib,OpenCV可能遇到报错,无需慌张,可apt install python3-dev后再次使用pip安装。若依旧不成功可使用apt install python3-matplotlib?,?apt install python3-opencv安装。

配置好环境后稍后克隆一份部署Lemon源码,进入cd ./lemon/wheels文件夹后pip3 install paddlelite-2.8rc0-cp36-cp36m-linux_aarch64.whl(根据自己的Python版本选择,提供了Python2.7,3.5,3.6,3.7的包)

?

部署代码示例,这是接下来工作需要重点理解的地方。

git clone https://github.com/hang245141253/lemon.git?

准备PaddleLite推理库

树莓派3blinux64位使用如下推理库,extra.tar含有模型的flatten算子。

下载网址https://github.com/PaddlePaddle/Paddle-Lite/releases/

?

uname -a 命令可知系统位数。

准备模型

  • 使用opt工具将Paddle模型转化成Paddle Lite nb模型 这里已经将opt工具作为数据集形式上传到了Notebook中,只需执行如下代码即可完成模型转化。

?

!pip install paddlelite==2.9 
!paddle_lite_opt --model_file=output.pdmodel --param_file=output.pdiparams --optimize_out==face

?一开始会报错

Check failed: (idx < BlocksSize()): 0!<0 idx >= blocks.size() Aborted (core dumped)?

后来发现model保存的是用于预测的而没有save用来部署的模型。

model.save('infer/zodiac')#模型用来预测
model_2.save('infer/zodiac', training=False)#模型用来部署

重新保存一份模型,得到需要的Paddle Lite nb 模型。

?

?

构建并运行程序

这一步因为C++会直接在寄存器上进行操作,比python封装好的各种函数运行速度更快,我们选择C++进行部署。接下来需要学习C++的基本知识。

总结

虽然模型达到了较好的准确率,但是经过这几天的学习,我们发现整个学习的重点,即数据的预处理和后处理,仍然没有研究明白,这会在部署的时候给我们带来阻碍。

接下来首先要在模型的预处理上作出改变,确定后处理与其对齐。

另外则需要进行C++的学习,为部署做准备。

引用柠檬分类范例

https://aistudio.baidu.com/aistudio/projectdetail/1592283?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-24 23:57:56  更:2021-07-24 23:58:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 21:30:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码