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

一、简介

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基本类似,都可以直接做到随机读取数据等。

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值