机器/深度学习X2Paddle、Paddle Lite、CHN介绍

以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:X2Paddle(深度学习模型转换工具)、Paddle Lite(『飞桨』多平台高性能深度学习预测引擎)、CHN(Hacker News 网站的命令行增强版本)。

1、X2Paddle(深度学习模型转换工具)

机器/深度学习X2Paddle、Paddle Lite、CHN介绍

X2Paddle支持将其余深度学习框架训练得到的模型,转换至PaddlePaddle模型。

环境依赖:

python >= 3.5

paddlepaddle >= 1.5.0

以下依赖只需对应安装自己需要的即可:

转换tensorflow模型:tensorflow == 1.14.0

转换caffe模型:caffe == 1.0.0

转换onnx模型:onnx == 1.5.0 pytorch == 1.1.0

安装:

安装方式一(推荐):

使用最新的代码版本,可使用如下方式进行安装:

pip install git+https://github.com/PaddlePaddle/X2Paddle.git@develop

安装方式二:

我们会定期更新pip源上的x2paddle版本

pip install x2paddle

安装方式三:

git clone https://github.com/PaddlePaddle/X2Paddle.git

cd X2Paddle

git checkout develop

python setup.py install

使用方法:

TensorFlow:

x2paddle --framework=tensorflow --model=tf_model.pb --save_dir=pd_model

Caffe:

x2paddle --framework=caffe --prototxt=deploy.proto --weight=deploy.caffemodel --save_dir=pd_model

ONNX:

x2paddle --framework=onnx --model=onnx_model.onnx --save_dir=pd_model

注:参数选项请看上图。

使用转换后的模型:

转换后的模型包括model_with_code和inference_model两个目录。

model_with_code中保存了模型参数,和转换后的python模型代码。

inference_model中保存了序列化的模型结构和参数,可直接使用paddle的接口进行加载。

关于小工具:

X2Paddle提供了工具解决如下问题:

1]、检测模型是否在PaddleLite中支持。

2]、合并模型参数文件。

下载地址:https://github.com/PaddlePaddle/X2Paddle

2、Paddle Lite(『飞桨』多平台高性能深度学习预测引擎)

机器/深度学习X2Paddle、Paddle Lite、CHN介绍

Paddle Lite为Paddle-Mobile的升级版,定位支持包括手机移动端在内更多场景的轻量化高效预测,支持更广泛的硬件和平台,是一个高性能、轻量级的深度学习预测引擎。在保持和PaddlePaddle无缝对接外,也兼容支持其他训练框架产出的模型。

特性:

轻量级:

执行阶段和计算优化阶段实现良好解耦拆分,移动端可以直接部署执行阶段,无任何第三方依赖。包含完整的80个 Op+85个 Kernel 的动态库,对于ARMV7只有800K,ARMV8下为1.3M,并可以裁剪到更低。在应用部署时,载入模型即可直接预测,无需额外分析优化。

高性能:

极致的 ARM CPU 性能优化,针对不同微架构特点实现kernel的定制,最大发挥计算性能,在主流模型上展现出领先的速度优势。支持INT8量化计算,结合 PaddleSlim 模型压缩工具中 INT8量化训练功能,可以提供高精度高性能的预测能力。在Huawei NPU, FPGA上也具有有很好的性能表现。

最新 Benchmark 位于 benchmark。

通用性:

硬件方面,Paddle Lite 的架构设计为多硬件兼容支持做了良好设计。除了支持ARM CPU、Mali GPU、Adreno GPU,还特别支持了华为 NPU,以及 FPGA 等边缘设备广泛使用的硬件。即将支持支持包括寒武纪、比特大陆等AI芯片,未来会增加对更多硬件的支持。

模型支持方面,Paddle Lite和PaddlePaddle训练框架的Op对齐,提供更广泛的模型支持能力。目前已严格验证18个模型85个OP的精度和性能,对视觉类模型做到了较为充分的支持,覆盖分类、检测和定位,包含了特色的OCR模型的支持。未来会持续增加更多模型的支持验证。

框架兼容方面:除了PaddlePaddle外,对其他训练框架也提供兼容支持。当前,支持Caffe 和 TensorFlow 训练出来的模型,通过X2Paddle 转换工具实现。接下来将会对ONNX等格式模型提供兼容支持。

架构:

PaddleLite 的架构设计着重考虑了对多硬件和平台的支持,并且强化了多个硬件在一个模型中混合执行的能力,多个层面的性能优化处理,以及对端侧应用的轻量化设计。

其中,Analysis Phase 包括了 MIR(Machine IR) 相关模块,能够对原有的模型的计算图针对具体的硬件列表进行算子融合、计算裁剪在内的多种优化。Execution Phase 只涉及到Kernel 的执行,且可以单独部署,以支持极致的轻量级部署。

Paddle-Mobile升级为Paddle Lite的说明

原Paddle-Mobile作为一个致力于嵌入式平台的PaddlePaddle预测引擎,已支持多种硬件平台,包括ARM CPU、 Mali GPU、Adreno GPU,以及支持苹果设备的GPU Metal实现、ZU5、ZU9等FPGA开发板、树莓派等arm-linux开发板。在百度内已经过广泛业务场景应用验证。

Paddle-Mobile 整体升级重构并更名为Paddle Lite后,原paddle-mobile 的底层能力大部分已集成到新架构下。作为过渡,暂时保留原Paddle-mobile代码。主体代码位于 mobile/ 目录中,后续一段时间会继续维护,并完成全部迁移。新功能会统一到新架构下开发。

metal、web的模块相对独立,会继续在 ./metal 和 ./web 目录下开发和维护。对苹果设备的GPU Metal实现的需求及web前端预测需求,可以直接进入这两个目录。

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

3、CHN(Hacker News 网站的命令行增强版本)

机器/深度学习X2Paddle、Paddle Lite、CHN介绍

HackerNews网站的命令行增强版本。

在命令行展现和操作HackerNews网站,并增加机器学习(深度学习BERT版准确度最高,但速度慢所以弃用)自动分类、推荐和搜索特定页面功能,内置命令行简化版reactjs类库以组织和简化UI代码。

项目还在不断的开发中,所以启动和部分操作可能比较慢。

运行环境是 Ubuntu 默认的terminal、python3.6.7、python3.6+应该也能运行,  macOS/windows 以及其他操作系统环境未测试。现可用Docker安装,windows之外的大部分操作系统和环境应该都能运行。

功能特征:

1]、可以登录HN并voted/favorite文章。

2]、浏览所有主要HN页面包括登录后的submitted/voted/favorite页面。

3]、对不同页面文章列表自动分类或按关键字搜索。

4]、根据voted/favorite的历史为用户推荐文章。

创建评论和链接,查看评论和文章详情还没有在命令行实现,会自动打开浏览器查看,这些功能将会实现,包含在TODO列表中。

下载地址:https://github.com/ghosthamlet/CHN

注明

以上就是机器/深度学习X2Paddle、Paddle Lite、CHN的介绍内容,这些机器学习/深度学习软件都能使用在Linux操作系统中。

栏目相关文章