这是我看《深度学习入门——基于Python的理论和实现》的第N天,这本书,教你如何利用python,不用机器学习第三方库,自己去实现那些高大上的机器学习能实现的功能。

是的它会涉及到很多数学知识,尤其是矩阵的处理,还有微分等等,但是作者写的真的很细心,真厉害的人物。

在看这种类型书的时候,不知道你们会不会有这种情况,上一次看的内容很容易忘记(可能是我每次看隔的时间都太长了,没有一口气把它看完,但是这真的很难做到),特别是很多的函数在后面的实例调用的时候,可能我还能记得这个函数是干嘛用的,却很难想起来它是怎么实现的…所以,我们需要做总结,要多做总结,总结,结。

好了言归正传,你是否很好奇,程序是如何看懂一张图片上的手写数字到底是几呢?没有天才的头脑,我根本想不出可能用程序实现计算机视觉的方法,但是神奇的是,像识别数字这样的技术,技术上甚至可以达到99%的正确率。那么到底是如何实现的呢,看了前四章,我似乎明白了,哦!原来是这样,真**的牛逼!

让我们来看看自己如何编写一个能识别数字图片的Python程序(专业的部分真的没把握讲清楚,有兴趣的一定要去看看这本书)

1.

首先,我们知道计算机可以识别图片中的数字,是通过从大量的图片中找规律(似乎可以这么认为,其实是通过不断调节所谓的神经网络中的参数的方法),从而找到图片像素和标签之间的某种关系,以达到识别的目的。简单说就是这样:

给一个图片

机器随机初始化参数(其实若按照正态分布初始化将取得较好的结果)

机器:这是0

修改参数

机器调节下自己的神经网络参数:这是5

修改参数

机器再调节下自己的神经网络参数:这是3

修改参数

…(不停重复)

(不知道结果怎么知道如何修改参数呢?很简单,人工来标注好正确结果)

2.

所以,我们要实现这么几个步骤

(1)我要大量的数据来让我学习和测试结果。可以用MNIST(一个有60000数字图片且已经人工标注好的数据集)

(2)我要写一个函数用于判断这个图片是数字几

(3)我要写一个函数,用来告诉我我的结果和正确结果差多少(我们先管这个值叫loss),我通过调节参数应该让这个值不断降低

(4)我要写一个函数来调节神经网络的参数。这块还要注意,参数调节可不是随便调节的,我们要想方法让参数的调节使得loss减小,而且是减小的最快的那个方向(这块用一个叫做梯度法的方法,涉及微分,其实花点时间你可以搞明白的)

(5)最后就是循环,不停的修正我们的参数,到了后面,我们的识别正确率也就越来越高了

python识别图片背景中数字_用python识别一张数字图片相关推荐

  1. python写入csv文件中添加行_在python中为csv文件输出键添加值

    这是我的输入csv文件. client_ip listener_service listener_port 127.0.0.1 LMNO 123 ::1 PQAR 768 ::1 PQAR 128 1 ...

  2. python竞赛_浅谈Python在信息学竞赛中的运用及Python的基本用法

    浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...

  3. python除法函数一般如何命名_关于python:当用于除法时,’/’和’//’之间有什么区别?...

    使用一个对另一个有好处吗?在Python2中,它们似乎都返回相同的结果: >>> 6/3 2 >>> 6//3 2 请参考整数除法的问题,因为引入了//运算符进行整 ...

  4. python 图片背景前景分离_【绝了】用 Python 把朋友头像变表情包!

    正文 在日常生活中,我们经常会存取一些朋友们的丑照,在这个项目中,我们以萌萌哒的熊猫头作为背景,然后试着在背景图上加入朋友们的照片,效果如下图所示. 实现步骤 导入朋友的照片(前景照片): 处理前景照 ...

  5. python提取图片文字视频教学_用Python提取视频中的图片

    小编自己码的通用型函数,支持各种常用视频格式,可满足常用需求,亲测效果和速度都不错. 想获取本文数据和完整代码的下载链接,请关注微信公众号"R语言和Python学堂",并回复发文日 ...

  6. python 读取图片转换为一维向量_对Python中一维向量和一维向量转置相乘的方法详解...

    对Python中一维向量和一维向量转置相乘的方法详解 在Python中有时会碰到需要一个一维列向量(n*1)与另一个一维列向量(n*1)的转置(1*n)相乘,得到一个n*n的矩阵的情况.但是在pyth ...

  7. python手机代码识别数字_利用python构建神经网络识别手写数字(附源代码)

    一.运行环境配置 本次实验的运行环境win10(bit64),采用python环境为3.7.6,安装Python环境推荐使用Anaconda.Anaconda是一个免费开源的Python和R语言的发行 ...

  8. python中八进制_在Python中以八进制格式输入数字

    python中八进制 Syntax to convert octal value to an integer (decimal format), 将八进制值转换为整数(十进制格式)的语法, int(o ...

  9. python怎么背景实现循环_在Python的一段程序中如何使用多次事件循环详解

    背景 本文主要给大家介绍了关于在Python一段程序中使用多次事件循环的相关内容,我们在Python异步程序编写中经常要用到如下的结构 import asyncio async def doAsync ...

  10. 关于python浮点数类型错误的是_关于Python的数字类型,以下选项中描述错误的是...

    [单选题]以下程序的输出结果是: lcat =["狮子","猎豹","虎猫","花豹","孟加拉虎" ...

最新文章

  1. XML解析文件出错解决方法
  2. 面试常考的树,我这样讲给你听!
  3. python实现分布式_Python如何快速实现分布式任务
  4. STM32中常用的C语言知识点,开始复习!
  5. 计算机应用基础分析与报告,y计算机应用基础出题分析报告.doc
  6. 一些关于Viewport与device-width的东西~(转)
  7. 韦诺之战wesnoth没有声音
  8. OS篇-Bochs在Ubuntu下的安装教程
  9. SQLite3数据库
  10. Postman强大的接口的前置、后置处理教程
  11. 常用的抓包工具有哪些?
  12. bat脚本中如何多次键盘输入并判断_bat教程[282] @
  13. 《大数据实时处理》学生学期总结
  14. ENSP里的路由器与本地网络互联
  15. 史玉柱深度剖析:民营的13种“死法”
  16. 思杰pvs服务器压力无法最大化,Windows Server 2008 Hyper-V上运行思杰XenDesktop之最优范例...
  17. linux的自动挂载
  18. 刘易java_java基础之多态的那些事儿
  19. Delphi 10.4.2 轻松实现Android/IOS txt小说电子书阅读器应用APP翻页效果
  20. springboot集成各类常用中间件(更详细信息请看博主其它文章)

热门文章

  1. android 尺寸
  2. 201671030116宋菲菲 《英文文本统计分析》结对项目报告
  3. Flask-Websocket
  4. Adobe After Effects 2021 for Mac v18.4.1 视频合成及特效制作软件
  5. SharePoint Project导入(mpp文件导入)
  6. 做个jmeter登陆百度网盘的实例
  7. 证书服务器搭建与邮件签名加密
  8. IDEA部署web项目时,Artifact中war和war exploded的区别
  9. BigDecimal精度控制
  10. Acwing-860. 染色法判定二分图