MXNet官网案例分析--Train MLP on MNIST
本文是MXNet的官网案例: Train MLP on MNIST. MXNet所有的模块如下图所示:
第一步: 准备数据
从下面程序可以看出,MXNet里面的数据是一个4维NDArray.
import mxnet as mx # mxnet.io.MXDataIter, shape=(128,1,28,28)
train = mx.io.MNISTIter(
image = '/home/zhaopace/MXNet/mxnet/example/adversary/data/train-images-idx3-ubyte',
label = '/home/zhaopace/MXNet/mxnet/example/adversary/data/train-labels-idx1-ubyte',
batch_size = 128,
data_shape = (784, )
)
# mxnet.io.MXDataIter, shape=(128,1,28,28)
val = mx.io.MNISTIter(
image = '/home/zhaopace/MXNet/mxnet/example/adversary/data/t10k-images-idx3-ubyte',
label = '/home/zhaopace/MXNet/mxnet/example/adversary/data/t10k-labels-idx1-ubyte',
batch_size = 128,
data_shape = (784, )
)
Second: 符号式编程, 生成一个两层的MLP
# Declare a two-layer MLP
data = mx.symbol.Variable('data') # data layer
fc1 = mx.symbol.FullyConnected(data=data, num_hidden=128) # full connected layer 1
act1 = mx.symbol.Activation(data=fc1, act_type="relu") # activation layer(relu activation function)
fc2 = mx.symbol.FullyConnected(data=act1, num_hidden=64)
act2 = mx.symbol.Activation(data=fc2, act_type="relu")
fc3 = mx.symbol.FullyConnected(data=act2, num_hidden=10)
mlp = mx.symbol.SoftmaxOutput(data=fc3, name="softmax") # Softmax layer
一个CNN网络最基本的几层:
输入层: mx.symbol.Variable()
激活层: mx.symbol.Activation()
Batch正则化: mx.symbol.BatchNorm()
Dropout: mx.symbol.Dropout()
全连接层: mx.symbol.FullyConnected()
池化层: mx.symbol.Pooling()
卷积层: mx.symbol.Convolution()
Softmax输出: mx.symbol.SoftmaxOutput()
LRN: mx.symbol.LRN()
......
mx.symbol.FullyConnected(*args, **kwargs)
功能: 对input作矩阵乘法, 并且加上一个偏置. 将shape为(batch_size, input_dim)的input变成(batch_size, num_hidden)的输出;
输入参数:
- data: Symbol类型, 输入数据;
- weight: Symbol类型, 权重矩阵;
- bias: Symbol类型, 偏置参数;
- num_hidden: int型, 必要参数, 隐层节点的数目;
- no_bias: 布尔型, 可选参数, defalut=False, 表示是否不要偏置参数
- name: 字符串类型, 可选参数, 计算结果symbol的名称;
输出参数:
- 输出是一个Symbol: the result symbol
Last: 训练以及测试
# Type: mxnet.model.FeedForward
# Train a model on the data
model = mx.model.FeedForward(
symbol = mlp,
num_epoch = 20,
learning_rate = .1
)
model.fit(X = train, eval_data = val) # Predict
model.predict(X = train)
class mxnet.model.FeedForward(sklearn.base.BaseEstimator)
输入参数:
- symbol: Symbol类型, 网络的symbol结构配置;
- ctx:
- num_epoch: int型, 可选参数,是一个训练参数, 训练的迭代次数;
- epoch_size: 一次epoch使用的batches数目, 默认情况下为(num_train_examples / batch_size)
- optimizer:q
- initializer:
- numpy_batch_size:
- ......
图2 mxnet.model函数列表
MXNet官网案例分析--Train MLP on MNIST的更多相关文章
- ReactJS 官网案例分析
案例一.聊天室案例 /** * This file provided by Facebook is for non-commercial testing and evaluation * purpos ...
- Django官网案例教程
1.注意:python manage.py runserver 0:8000(侧任何IP均可访问)
- Yeoman 官网教学案例:使用 Yeoman 构建 WebApp
STEP 1:设置开发环境 与yeoman的所有交互都是通过命令行.Mac系统使用terminal.app,Linux系统使用shell,windows系统可以使用cmder/PowerShell/c ...
- 对石家庄铁道大学官网UI设计的分析
在这一周周一,老师给我们讲了PM,通过对PM的学习,我知道了PM 对项目所有功能的把握, 特别是UI.最差的UI, 体现了团队的组织架构:其次, 体现了产品的内部结构:最好, 体现了用户的自然需求.在 ...
- 【官网翻译】性能篇(四)为电池寿命做优化——使用Battery Historian分析电源使用情况
前言 本文翻译自“为电池寿命做优化”系列文档中的其中一篇,用于介绍如何使用Battery Historian分析电源使用情况. 中国版官网原文地址为:https://developer.android ...
- spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包
下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the ...
- 针对石家庄铁道大学官网首页的UI分析
身为一名光荣的铁大铮铮学子,我对铁大的网站首页非常的情有独钟,下面我就石家庄铁道大学的官网首页进行UI分析: 1.在首页最醒目的地方赫然写着石家庄铁道大学七个大字,让人一眼就豁然开朗. 2.网站有EN ...
- “深度评测官”——记2020BUAA软工软件案例分析作业
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 完成一次完整的软件开发经历并以博客的方式记录开发 ...
- Maccms后门分析复现(并非官网的Maccms){10.15 第二十二天}
该复现参考网络中的文章,该漏洞复现仅仅是为了学习交流,严禁非法使用!!!! Maccms官网:http://www.maccms.cn/ Maccms网站基于PHP+MYSQL的系统,易用性.功能良好 ...
随机推荐
- 【Spring学习笔记-1】Myeclipse下Spring环境搭建
*.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...
- Window下Nexus私服搭建
项目组大部分人员不能访问maven的central repository,因此在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上 环境是:nexus-2.1.1.mav ...
- VB中判断空的几种方法,Null, Missing, Empty, Nothing, vbNullString区别
vb6中存在几个虚幻的值:Null.Missing.Empty.Nothing.vbNullString.除了最后一个之外,每一个值都不能直接用“a=值”来判断.下面分别解释一下这几个值的含义. 1. ...
- oracle desc 表结构
SQL> desc v$logfile; 名称 是否为空? 类型 ----------------------------------------- -------- ------------- ...
- 55. Jump Game
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- c++中字符串处理函数
c++11中提供了to_string函数,定义在string中, 重载了一大片, std::string to_string( int value ); () (since C++) std::str ...
- c++ 迭代器库
来自http://zh.cppreference.com/w/cpp/iterator 迭代器库提供了5种迭代器的定义,同时还提供了迭代器特征.适配器及其相关的工具函数. 迭代器共有5种:InputI ...
- OAF_OAF Debug And Log调试和记录工具的详解(案例)
2014-06-16 Created By BaoXinjian
- BestCoder Round #85 hdu5778 abs(素数筛+暴力)
abs 题意: 问题描述 给定一个数x,求正整数y,使得满足以下条件: 1.y-x的绝对值最小 2.y的质因数分解式中每个质因数均恰好出现2次. 输入描述 第一行输入一个整数T 每组数据有一行,一个整 ...
- NeHe OpenGL教程 第十六课:雾
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...