cs231n spring 2017 Python/Numpy基础 (1)】的更多相关文章

本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3. 1. 基本数据类型:可以用 print(type(x)) 查看类型 1)整数.浮点数: 幂:x**y等价于pow(x, y): 不支持 x++.x--,支持 x+=1: /是浮点除法,//是整除,3//2 = 1: %取余: 2)布尔: 与(and,&).或(or,|).非(not),不要使用&&.||之类的. 3)字符…
本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3. 1. 基本数据类型:可以用 print(type(x)) 查看类型 1)整数.浮点数: 幂:x**y等价于pow(x, y): 不支持 x++.x--,支持 x+=1: /是浮点除法,//是整除,3//2 = 1: %取余: 2)布尔: 与(and,&).或(or,|).非(not),不要使用&&.||之类的. 3)字符…
Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Python,它是Python中科学计算的核心库,可以高效的处理多维数组的计算.并且,因为它的许多底层函数是用C语言编写的,所以运算速度敲快. 基础知识 ndarray NumPy的主要对象是同类型的多维数组ndarray.它是一个通用的同构数据多维容器,所有的元素必须是相同类型的,并通过正整数元组索引.利…
在python 中有时候我们用数组操作数据可以极大的提升数据的处理效率, 类似于R的向量化操作,是的数据的操作趋于简单化,在python 中是使用numpy模块可以进行数组和矢量计算. 下面来看下简单的例子 import numpy as np data=np.array([2,5,6,8,3]) #构造一个简单的数组 print(data) 结果: [2 5 6 8 3] data1=np.array([[2,5,6,8,3],np.arange(5)]) #构建一个二维数组 print(da…
一.Numpy的引入 1.标准的Python 中用列表(list)保存一组值,可以当作数组使用.但由于列表的元素可以是任何对象,因此列表中保存的是对象的指针.对于数值运算来说,这种结构显然比较浪费内存和CPU 计算 2.虽然Python 提供了array 模块,它和列表不同,能直接保存数值,但是由于它不支持多维数组,也没有各种运算函数,因此也不适合做数值运算.   NumPy 的诞生弥补了这些不足. NumPy 提供了两种基本的对象:ndarray(n-dimensional array obj…
1. 深度学习面临的问题: 1)模型越来越大,很难在移动端部署,也很难网络更新. 2)训练时间越来越长,限制了研究人员的产量. 3)耗能太多,硬件成本昂贵. 解决的方法:联合设计算法和硬件. 计算硬件可以分为通用和专用两大类.通用硬件又可以分为CPU和GPU.专用硬件可以分为(FPGA和ASIC,ASIC更高效,谷歌的TPU就是ASIC). 2. Algorithms for Efficient Inference 1)Pruning,修剪掉不那么重要的神经元和连接.第一步,用原始的网络训练:第…
1. 非监督学习 监督学习有数据有标签,目的是学习数据和标签之间的映射关系.而无监督学习只有数据,没有标签,目的是学习数据额隐藏结构. 2. 生成模型(Generative Models) 已知训练数据,根据训练数据的分布(distribution)生成新的样例. 无监督学习中的一个核心问题是估计分布. 3. PixelRNN 和 PixelCNN 依次根据已知的像素估计下一个像素. PixelRNN(van der Oord et al. NIPS 2016):利用RNN(LSTM)从角落开始…
1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种"Unpooling"."Transpose Convolution"(文献中也叫"Upconvolution"之类的其他名字). 这个问题的训练数据的获得非常昂贵,因为需要一个像素一个像素的贴标签. 2. Classification + Localizatoin 一般用同一个网络,一方面得出分类,一…
参考<deeplearning.ai 卷积神经网络 Week 2 听课笔记>. 1. AlexNet(Krizhevsky et al. 2012),8层网络. 学会计算每一层的输出的shape:对于卷积层,输出的边长 =(输入的边长 - filter的边长)/ 步长 + 1,输出的通道数等于filter的数量.每个filter的通道数等于输入的通道数.卷积层的参数 = filter的长 * filter的宽 * 输入的通道数 * filter的数量.池化层没有需要学习的参数. 图中分成两个通…
1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很大的loss function,一个方向梯度变化明显,另一个方向梯度变化很缓慢,SGD在优化过程中会震荡着下降,导致优化很慢.深度学习的网络会有上百万甚至更多的参数需要优化,在这个上百万维的空间里,更容易出现各个维度梯度变化差别很大的问题. 2)陷落在局部最小点或者鞍点(saddle point).…