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

OpenCL与CNN篇四:CNN从入门到使用

文中比较重要的引用了几个篇博客,开篇给与博主感谢记录我从零到实现一个具体CNN网络中最有用的知识干货以细节为切入点,分享我对CNN网络的简洁本文致力于让你一篇文章理解CN
  1. 文中比较重要的引用了几个篇博客,开篇给与博主感谢
  2. 记录我从零到实现一个具体CNN网络中最有用的知识干货
  3. 以细节为切入点,分享我对CNN网络的简洁
  4. 本文致力于让你一篇文章理解CNN的具体实现与训练方法
  5. 涉及理论不一一追述背景,主要讲解其如何应用
  6. 开源的优秀CNN代码很多,我选择的入门可能不是最棒的,但对我是最容易理解的

开始

一、神经网络与卷积

1、如果你不了解神经网络,这篇 CNN笔记:通俗理解卷积神经网络 够了。
2、如果你不了解神经网络,这篇 CNN笔记:通俗理解卷积神经网络 也够了。
3、看黑板标重点,看完文章请确保理解:卷积、池化(采样)、全连接
4、这一条只是单纯地给上文的博主点10个贊。。。。。。。。。

二、一个简单的CNN结构

1、首先我们需要了解一个数据集MINST,刚去搜了一篇介绍比较详细的博客MNIST数据集解析,不过代码是Python如果不懂请选择忽略,看他关于MINST的介绍就好。不过你也可以先跳过这步,这只是输入数据,并不关乎我们的CNN构架。
2、如果上文你了解了卷积,那么现在可以给你介绍一个简单的CNN手写识别网络了。这也有一篇很好的博客编写C语言版本的卷积神经网络CNN之网络的总体结构,篇末有一份博主的C语言代码连接,纯C语言的自己注意修改一下代码中加载的文件路径,运行起来不是很难。不过文章的配图,和公式说明比较复杂,所以就只建议阅读tostq的专栏的篇二(就是上一个连接)。
3、在此送一张我自己画的图,姑且称为图一

简单的CNN网络

三、根据图一而来的 正向计算

先说明一下本文采用的激活函数Sigmoid(),表达式 S(x)=1/[1+exp(x)] 。它有一个很好的特性其导函数与其输出有关,即 S~(x)=S(x)[1S(x)]
在之后的文章里我们用 f(y)=y(1y)=S(x)[1S(x)]=S~(x) 表示激活函数的导函数,文章内引用不再重复说明。

3.1、卷积层C1、C3的计算

ym(x,y) 表示第m张输出图位置(x,y)的像素信息, bm 表示偏置, Xp(x,y) 示第p张输入图, Kpm(j,i) 表示当前输入图与输出图之间的卷积核,W、H分别表示卷积核的宽、高。可以得到输出图每个像素值的计算公式,如下:

ym(x,y)=S([pNiHjWXp(x+j,y+i)Kpm(j,i)]+ var cpro_id = "u6885494";
推荐阅读
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 本文探讨了在使用 Django 进行数据库迁移时遇到的常见问题,特别是当出现不一致的迁移历史记录时,如何通过删除所有表并重新进行迁移来解决问题。同时,提供详细的步骤和最佳实践,帮助开发者顺利解决此类问题。 ... [详细]
  • Python入门:第一天准备与安装
    本文详细介绍了Python编程语言的基础知识和安装步骤,帮助初学者快速上手。涵盖Python的特点、应用场景以及Windows环境下Python和PyCharm的安装方法。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 提升Tumblr爬虫效率与功能
    本文介绍了对之前开发的Tumblr爬虫脚本进行升级,整合了两个脚本的功能,实现了自动分页爬取博客内容,并支持配置文件以下载多个博客的不同格式文件。此外,还优化了图片下载逻辑。 ... [详细]
  • 本文介绍如何在SQL Server中对Name列进行排序,使特定值(如Default Deliverable Submission Notification)显示在结果集的顶部。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • Python 学习是否需要先掌握 C 语言?
    Python 是一门非常适合编程入门的语言,很多人疑惑是否需要先学习 C 语言才能更好地掌握 Python。本文将详细探讨这个问题,并为初学者提供专业的建议。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • 本文详细介绍了Python中函数的基本概念,包括函数的定义与调用、文档注释、参数传递(形参与实参)、返回值以及函数嵌套。通过具体示例和解释,帮助读者掌握函数在编程中的应用。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 1、字符型常量字符型常量指单个字符,是用一对单引号及其所括起来的字符表示。例如:‘A’、‘a’、‘0’、’$‘等都是字符型常量。C语言的字符使用的就是 ... [详细]
author-avatar
猪猪寂寞的王子_125
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有