PAI的示例项目MNIST详解

PAI的示例项目MNIST详解

本文将详细的介绍PAI的示例项目:MNIST手写数字识别项目的代码,详细代码链接请见文章最后。

目录

MNIST 项目介绍

   MNIST是机器学习中的Hello world,前期准备要了解Softmax (multinomial logistic ) regression。

MNIST的是一个简单的计算机视觉数据集,它包含一系列手写数字图片,我们将训练一个模型识别图片中的数字。

我们本次目的不是训练一个精准模型,以达到稳定的高性能,而是学会如何使用Tensorflow解决简单的问题,以及如何使用PAI平台运行深度学习项目。

本文将完成以下任务:

  • 了解MNIST数据以及Softmax Regression

  • 构建一个模型,根据图片的像素识别数字

  • 基于上千个样例,使用TensorFlow训练模型识别数字

  • 使用测试数据检验正确性

  • 在PAI平台上顺利运行该项目

MINIST 数据集

数据集可从 http://yann.lecun.com/exdb/mnist/ 中下载。

数据集中训练集中有60000个数据点,测试集有10000个数据点。

每个MNIST数据点有两个部分:手写的数字图片其相应的标签,将图片作为x, 标签作为y。

每张图片为28x28像素,图片和对应矩阵的关系如下图所示:

这里写图片描述

=

这里写图片描述

可见图像和28*28的矩阵相对应。

每个图片有一个相应的标签,为0-9,对应的是0-9的10个数字,每个标签抽象为“one-hot vectors” (指只有一个维度为1其他维度都为0的向量),如类别为1的图片对应的类别向量为 [0 1 0 0 0 0 0 0 0 0] 。

Softmax Regression

   Softmax Regression是Logistic回归的推广,Logistic回归是处理二分类问题的,而Softmax Regression是处理多分类问题的。

Logistic回归是处理二分类问题的比较好的算法,具有很多的应用场合,如广告计算等。Logistic回归利用的是后验概率最大化的方式去计算权重。

多分类模型的输出结果为该样本属于k个类别的概率,从这k个概率中我们选择最优的概率对应的类别(通常选概率最大的类别),作为该样本的预测类别。

代码分析

在Python数值计算中,经常会使用到一些别的库,像numpy,在python外进行昂贵的操作,如矩阵计算。但是Python内外的数据交互会使得高的开销,为避免这些,Tensorflow使用先描述计算图,后再一起计算的方式。
所以Tensorflow中代码运行顺序取决于会话中的代码顺序,而非整个文件中的代码顺序

import os
import sys
import argparse

import tensorflow as tf

FLAGS = None

导入了需要用的库,其中FLAGS是PAI平台中需要使用的量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值