热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pytorch实现手写数字识别_Paddle和Pytorch实现MNIST手写数字集识别对比

一、简介1.PaddlePaddlePaddle是百度自主研发的集深度学习核心框架、工具组件和服务平台为一体的技术领先、功能完备的开源深度学习平台,有全面的官方支持的

一、简介

1. Paddle

PaddlePaddle是百度自主研发的集深度学习核心框架、工具组件和服务平台为一体的技术领先、功能完备的开源深度学习平台,有全面的官方支持的工业级应用模型,涵盖自然语言处理、计算机视觉、推荐引擎等多个领域,并开放多个预训练中文模型。

PaddlePaddle同时支持稠密参数和稀疏参数场景的大规模深度学习并行训练,支持千亿规模参数、数百个节点的高效并行训练。PaddlePaddle拥有多端部署能力,支持服务器端、移动端等多种异构硬件设备的高速推理,预测性能有显著优势。目前PaddlePaddle已经实现了API的稳定和向后兼容,具有完善的中英双语使用文档。

PaddlePaddle是一个开源的深度学习平台,而在我们进行使用的时候主要使用的是其核心框架Paddle Fluid。Paddle Fluid提供覆盖深度学习开发、训练、预测及部署全流程的服务。

和其他我们常用的深度学习框架一样,Fluid同样使用Tensor结构来承载数据。

2. Pytorch

Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Paddle Fluid的动态计算图相同,pytorch的计算图也是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。作为经典机器学习库 Torch 的端口,PyTorch 为 Python 语言使用者提供了舒适的写代码选择。

二、任务简介

bf8afb384144b56a70b31f9f13a4d581.png

三、代码实现

1. Paddle

import

2. Pytorch

import

三、对比

1.结果

Paddle:

c0b82f2efd5335f3cf17549e99cf1d14.png

Pytorch:

89697784c8e3c41c5ee155ac0a4e7077.png

两者都可以极快地达到较高的准确率

2.实现方式

两者都采取的是动态图

两者都有直接支持MNIST数据集的获取,但是Pytorch需要自己进行归一化、居中等处理,但是Paddle提供的数据是已经处理过后了的。

两者提供的读取数据的相关API基本类似,都可以直接做到随机读取数据等。

在模型训练过程中都支持自动求导,多有相同的损失函数接口,不同求导方式的接口等,搭建模型都十分方便。

总的来说,两者差距很小,学会了其中任意一种再去使用其他的都可以极快地上手。



推荐阅读
author-avatar
大漠孤烟直1314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有