- 博客(11)
- 收藏
- 关注
转载 tensorflow入门学习一
1.简介tensorflow程序一般分为图的构建和图的执行两个阶段。图的构建阶段也称为图的定义阶段,该过程会在图模型中定义所需的运算,每次运算的的结果以及原始的输入数据都可称为一个节点(operation ,缩写为op)1.1图的创建import tensorflow as tfm1 = tf.constant([10,3])m2 = tf.constant([2,2])...
2019-05-04 21:48:30 116
原创 cs231n课程作业1——二层神经网络分类器感悟
1、反向求导2、数据预处理一般采用减均值,若特征间数据的范围差距很大,则考虑除以均方差进行归一化。一般不需要PCA降维和白化操作切记先切分数据集、验证集、测试集,之后再进行预处理3、初始化 权重初始化w = np.random.randn(n) * np.sqrt(2/n) #后续再卷积神经网络中测试偏置初始化b = 0多层网络间正则化程度一般取相同,可采用L2正则化和随机失活4、检查解析梯度使用...
2018-03-28 21:39:46 607
原创 关于cs231n中作业1的SVM和Softmax线性分类器实现的感悟
1、对于复杂的含有多Wi参数的函数L求导问题,首先是分别对单个参数求偏导数,然后放置到此参数对应的矩阵的位置。在求偏导数的矩阵表示时,一般要经历如下两个步骤:数字计算:分解步骤,同时计算L和导数:一般情况下,L的计算分很多步,而且每一步也十分复杂,可能涉及到数值判定等。但是只要你将这些步骤分解成很多个小步骤(使用循环,只要你能表达清楚,电脑不怕计算多),在每一个小步骤里面同时计算这一小步骤中Li的...
2018-03-01 18:03:23 326
原创 关于cs231n作业1中KNN算法实现的感悟
1、避免使用循环,直接使用数组进行计算(一般需要广播)可以很好的提高计算效率,一般情况下都是可以在原来的维度下找到相应的表达式来代替循环,切记最好不要轻易提高维度来解决问题,因为这会大大增加计算量。>>> import numpy as np>>> train = np.arange(30).reshape(6,5)>>> test = np....
2018-02-26 16:31:36 221
原创 numpy 模块学习记录五
1、基本数组统计方法基本都可以使用np.sum(a,axis = 0)和a.sum(0)两种格式np.sum(a,axis = 0):求和np.mean(a,axis=0):算数平均数np.std(a,axis = 0),np.var(a,axis = 0):标准差和方差 # 标准差也被称为标准偏差,或者实验标准差,公式为 。#方差是实际值与期望值之差平方的平均值,而标准差是方差算术平方根。...
2018-02-23 23:40:42 238
原创 一些容易忘记的
1、np.dot(a,b)跟a.dot(b)是一回事,都是算a点乘b。类似的还有np.mean(a) = a.mean(), np.sum(a) = a.sum(), np.std(a)= a.std()2、np.where()相当于三元表达式x if condition else y的矢量化版本>>> aarray([[0, 1, 2], [3, 4, 5], ...
2018-02-23 23:23:15 114
转载 使用PIL.Image模块和matplotlib.pyplot进行图片的打开,显示和存储
一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点:1、不开源,价格贵2、软件容量大。一般3G以上,高版本甚至达5G以上。3、只能做研究,不易转化成软件。因此,我们这里使用python这个脚本语言来进行数字图像处理。要使用python,必须先安装python,一般是2.7版本以上,不管是在windows系统,还是linux系统,安装都是非常简单的。要使用python...
2018-02-22 22:42:11 10958
原创 numpy 模块学习记录四
1、快速的元素级数组函数(一元函数)np.abs(a) 对a的每个元素都取绝对值,并返回np.sqrt(a) 开方np.square(a) 平方np.modf(a) 将整数部分和小数部分分开成两个数组返回np.log(a)、np.log10(a)、np.log2(a)、np.log1p(a) 对数运算np.sign(a) 计算正负号:1(正数),0(零),-1(负数)np.cos、...
2018-02-13 18:12:20 168
原创 numpy 模块学习记录三
1、索引和切片需特别注意的是当你将一个标量赋值给一个数组的切片(可以是a[:])时,该标量值会自动传播到整个选区。相当于给数组整片区域进行赋值。对数组切片进行赋值(可用标量,也可以用数组进行赋值)会直接改变原数组的值。如果不想改变,可以用c = a[1:3].copy()的方式数组a = 数组b这样的语句其实并没有复制一个新的数组,a和b都是指的的同一个数组,因此数组不会通过赋值产生新的数组,也不...
2018-02-13 15:17:13 195
原创 numpy 模块学习记录二
1、数组与数组间的运算同样大小:乘法(*),除法(/),加法(+),减法(-),幂运算(**)都可以,例子如下:不同大小:称作广播,比较复杂,现只清楚,对于一维数组和二维数组(维度相同时)之间可+,-,*,/>>> aarray([1, 2, 3, 4])>>> a*aarray([ 1, 4, 9, 16])>>> a/aarray([1...
2018-02-13 12:00:27 137
原创 numpy 模块学习记录一
1、 以下测试np.tile()函数的功能(对一维数组使用)>>> c =[1,2,3,4]>>> import numpy as np>>> a = np.array(c)>>> aarray([1, 2, 3, 4])>>> np.tile(a,2)array([1, 2, 3, 4, 1, 2,
2018-02-13 10:58:29 280
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人