pytorch入门教程 | 第三章:构造一个小型CNN

学过深度卷积网络的应该都非常熟悉这张demo图(LeNet):

此图是LeNet的结构图,把32*32的手写英文字符图片作为输入,训练出一个对于手写字符的分类

我们训练这个网络必须经过4步:

第一步:将输入input向前传播,进行运算后得到输出output

第二步:将output再输入loss函数,计算loss值(是个标量)

第三步:将梯度反向传播到每个参数

第四步:利用下面公式进行权重更新

新权重w = 旧权重w + 学习速率? x 梯度向量g

先不管怎么训练,我们必须先构建出一个CNN网络,很快我们写了一段关于这个LeNet的代码,并进行注释:

1至37行定义了一个卷积神经网络,40行以下是为了观察该网络需要训练的参数数量。

运行完该代码我们得到下图

该网络有5层神经元,第一层是1到6的卷积层,第二层是6到16的卷积层,第三层到第5层均为全连接层。第一层的参数计算是6x1x5x5=150,当然别忘了还有bias=6,所以第一层的参数总量是150+6=156。以此类推,总参数和为61706个

注意:torch.nn只接受mini-batch的输入,也就是说我们输入的时候是必须是好几张图片同时输入。 例如:nn. Conv2d 允许输入4维的Tensor:n个样本 x n个色彩频道 x 高度 x 宽度

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2017-09-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨熹的专栏

word2vec 模型思想和代码实现

CS224d-Day 3: word2vec 有两个模型,CBOW 和 Skip-Gram,今天先讲 Skip-Gram 的算法和实现。 课件: https:...

4565
来自专栏数据星河

人工智能之机器学习CART算法解析

  人工智能之机器学习主要有三大类:1)分类;2)回归;3)聚类。今天我们重点探讨一下CART算法。

1270
来自专栏机器学习从入门到成神

机器学习之决策树(Decision Tree)及其Python代码实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

1221
来自专栏机器之心

教程 | 基础入门:深度学习矩阵运算的概念和代码实现

选自Medium 机器之心编译 参与:蒋思源 本文从向量的概念与运算扩展到矩阵运算的概念与代码实现,对机器学习或者是深度学习的入门者提供最基础,也是最实用的教...

44813
来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

基于模糊集理论的一种图像二值化算法的原理、实现效果及代码

  这是篇很古老的论文中的算法,发表与1994年,是清华大学黄良凯(Liang-kai Huang) 所写,因此国外一些论文里和代码里称之为Huang's fu...

30111
来自专栏算法channel

全面总结机器学习项目和面试中几乎绕不开的决策树

决策树是一种常见的机器学习算法,它的思想十分朴素,类似于我们平时利用选择做决策的过程。

1190
来自专栏机器之心

机器之心GitHub项目:从循环到卷积,探索序列建模的奥秘

机器之心原创 作者:蒋思源 本文讨论并实现了用于序列模型的基本深度方法,其中循环网络主要介绍了传统的 LSTM 与 GRU,而卷积网络主要介绍了最近 CMU 研...

8346
来自专栏CreateAMind

TensorFlow 文档:MNIST机器学习入门

1262
来自专栏拂晓风起

验证码去噪 分离背景 分离文字 最大类间方差

1202
来自专栏文武兼修ing——机器学习与IC设计

深入理解感知机

1.模型 感知机的模型如下图所示: ? linear_classifier_structure.png 公式表示如下所示: $$ f(x) = sign(...

37510

扫码关注云+社区

领取腾讯云代金券