又一重磅再获翻译授权,斯坦福CS231N深度学习与计算机视觉

https://zhuanlan.zhihu.com/intelligentunit
http://toutiao.com/i6311034787540763137/
https://zhuanlan.zhihu.com/p/20870307
2016-07-25 07:01

本文为斯坦福大学CS231N课程的中文版内容笔记,已获得斯坦福大学课程Andrej Karpathy教授的授权翻译与发表。大数据文摘作品,未经授权禁止转载,转载具体要求见文末。

计算机视觉/computer vision是一个火了N年的topic。持续化升温的原因也非常简单:在搜索/影像内容理解/医学应用/地图识别等等领域应用太多,大家都有一个愿景『让计算机能够像人一样去"看"一张图片,甚至"读懂"一张图片』。

有几个比较重要的计算机视觉任务,比如图片的分类,物体识别,物体定位于检测等等。而近年来的神经网络/深度学习使得上述任务的准确度有了非常大的提升。加之最近做了几个不大不小的计算机视觉上的项目,爱凑热闹的博主自然不打算放过此领域,也边学边做点笔记总结,写点东西,写的不正确的地方,欢迎大家提出和指正。

◆ ◆ ◆

2.基础知识

python是一种长得像伪代码,具备高可读性的编程语言。

优点挺多:可读性相当好,写起来也简单,所想立马可以转为实现代码,且社区即为活跃,可用的package相当多;缺点:效率一般。

2.1.1 基本数据类型

最常用的有数值型(Numbers),布尔型(Booleans)和字符串(String)三种。

  • 数值型(Numbers)

可进行简单的运算,如下:

PS:python中没有x++ 和 x-- 操作

  • 布尔型(Booleans)

包含True False和常见的与或非操作

  • 字符串型(String)

字符串可以用单引号/双引号/三引号声明

字符串对象有很有有用的函数:

2.1.2 基本容器

  • 列表/List

和数组类似的一个东东,不过可以包含不同类型的元素,同时大小也是可以调整的。

列表最常用的操作有:

切片/slicing

即取子序列/一部分元素,如下:

循环/loops 即遍历整个list,做一些操作,如下:

可以用enumerate取出元素的同时带出下标

List comprehension 这个相当相当相当有用,在很长的list生成过程中,效率完胜for循环:

你猜怎么着,list comprehension也是可以加多重条件的:

  • 字典/Dict 和Java中的Map一样的东东,用于存储key-value对:

对应list的那些操作,你在dict里面也能找得到:

循环/loops

  • 元组/turple 本质上说,还是一个list,只不过里面的每个元素都是一个两元组对。

2.1.3 函数

用def可以定义一个函数:

  • 类/Class

python里面的类定义非常的直接和简洁:

2.2.NumPy基础

NumPy是Python的科学计算的一个核心库。它提供了一个高性能的多维数组(矩阵)对象,可以完成在其之上的很多操作。很多机器学习中的计算问题,把数据vectorize之后可以进行非常高效的运算。

2.2.1 数组

一个NumPy数组是一些类型相同的元素组成的类矩阵数据。用list或者层叠的list可以初始化:

生成一些特殊的Numpy数组(矩阵)时,我们有特定的函数可以调用:

2.2.2 Numpy数组索引与取值

可以通过像list一样的分片/slicing操作取出需要的数值部分。

还可以这么着取:

我们还可以通过条件得到bool型的Numpy数组结果,再通过这个数组取出符合条件的值,如下:

Numpy数组的类型

2.2.3 Numpy数组的运算

矩阵的加减开方和(元素对元素)乘除如下:

矩阵的内积是通过下列方法计算的:

特别特别有用的一个操作是,sum/求和(对某个维度):

还有一个经常会用到操作是矩阵的转置,在Numpy数组里用.T实现:

2.2.4 Broadcasting

Numpy还有一个非常牛逼的机制,你想想,如果你现在有一大一小俩矩阵,你想使用小矩阵在大矩阵上做多次操作。额,举个例子好了,假如你想将一个1*n的矩阵,加到m*n的矩阵的每一行上:

更多Broadcasting的例子请看下面:

2.3 SciPy

Numpy提供了一个非常方便操作和计算的高维向量对象,并提供基本的操作方法,而Scipy是在Numpy的基础上,提供很多很多的函数和方法去直接完成你需要的矩阵操作。有兴趣可以浏览Scipy方法索引查看具体的方法,函数略多,要都记下来有点困难,随用随查吧。

向量距离计算需要特别拎出来说一下的是,向量之间的距离计算,这个Scipy提供了很好的接口scipy.spatial.distance.pdist:

2.4 Matplotlib

这是python中的一个作图工具包。如果你熟悉matlab的语法的话,应该会用得挺顺手。可以通过matplotlib.pyplot.plot了解更多绘图相关的设置和参数。

结果如下:

2.5 简单图片读写

可以使用imshow来显示图片。

关于转载如需转载,请在开篇显著位置注明作者和出处(转自:大数据文摘|bigdatadigest),并在文章结尾放置大数据文摘醒目二维码。无原创标识文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;有原创标识文章,请发送【文章名称-待授权公众号名称及ID】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:zz@bigdatadigest.cn。

斯坦福CS231N深度学习与计算机视觉相关推荐

  1. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时11

    课时11 神经网络训练细节part1(下) 2010年,Glorot等人写的论文,我们称之为Xavier初始化,他们关注了神经元的方差表达式.他们推荐一种初始化方式,那就是对每个神经元的输入进行开根号 ...

  2. 深度学习与计算机视觉教程(11) | 循环神经网络及视觉应用(CV通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...

  3. 深度学习与计算机视觉教程(4) | 神经网络与反向传播(CV通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...

  4. 深度学习与计算机视觉教程(10) | 轻量化CNN架构 (SqueezeNet,ShuffleNet,MobileNet等)(CV通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...

  5. 深度学习与计算机视觉教程:斯坦福CS231n · 全套笔记解读

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...

  6. 深度学习与计算机视觉教程(3) | 损失函数与最优化(CV通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...

  7. 深度学习与计算机视觉系列(9)_串一串神经网络之动手实现小例子

    深度学习与计算机视觉系列(9)_串一串神经网络之动手实现小例子 作者:寒小阳  时间:2016年1月.  出处:http://blog.csdn.net/han_xiaoyang/article/de ...

  8. 深度学习与计算机视觉系列(8)_神经网络训练与注意点

    深度学习与计算机视觉系列(8)_神经网络训练与注意点 作者:寒小阳  时间:2016年1月.  出处:http://blog.csdn.net/han_xiaoyang/article/details ...

  9. 斯坦福大学深度学习与自然语言处理第一讲:引言

    斯坦福大学在三月份开设了一门"深度学习与自然语言处理"的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是 ...

最新文章

  1. 使用html测试数据库连接与操作(含界面) 第二步 功能实现
  2. div横排 html_html中两个DIV怎么横排靠齐?
  3. 对象存储与块存储、文件存储等对比
  4. python3 执行系统命令
  5. ifconfig命令实例
  6. 产品经理必备知识之网页设计系列(一)-创建出色用户体验
  7. 5个很常用的CSS3网页小实例
  8. css 科技 边框_CSS 边框
  9. flask tutorial = make a blog :) flask 搭建博客系统从零开始!
  10. 交流信号叠加直流偏置_接收无线电信号利器,一款无线有源环形收音机接收天线放大器...
  11. 均方根误差,平均绝对误差,均方误差,标准差计算方法
  12. 计算机讲Word文档中的组合,电脑Word文档中两个表格如何合并
  13. 时间复杂度与空间复杂度
  14. 百度地图 InfoWindow上添加点击事件
  15. zynq-7000系列基于zynq-zed的vivado初步设计之linux下控制PL扩展的UART
  16. 网站被黑、被入侵该如何解决?
  17. Kotlin:所有的一切还是从Hello Kotlin开始
  18. 2007年中考语文模拟试题1
  19. 【第三方API】顺丰API调用总结-java
  20. lesson5画表情包

热门文章

  1. crossover安装oracle,linux通过CrossOver安装最新版本TIM
  2. 牛客竞赛每日俩题 - Day2
  3. GitHub Flavored Markdown 规范
  4. 看看谁获得了CodeM编程大赛的10万奖金
  5. 【读取身份证信息】php 读取身份证信息
  6. 51单片机入门流水灯
  7. 人才引进都选什么大学,哪些世界大学排名更靠谱?
  8. 共有41款PHP SNS社交网络/交友平台开源软件,第1页
  9. 修复GRUB:win10 1709 秋季创意者更新导致Linux双系统无法引导
  10. 关于树叶的活动设计_中班语言活动:树叶