今天准备来运行下deep learning 上的几个python的例子。
显示下载theano,直接在cmd里,用easy_intall安装就好了。因为安装python时用的是python(x,y)版本。easy_install意见集成进去了。
如果原来spyder打开的,要关掉,重新打开。
theano就好用了。然后就是看theano的toturial。。。
improt theano.tensor as T. #用来定义各种变量类型。
function,用来临时定义一个简单的函数。我觉得类似eval。不过比eval强大。
几种function的格式function([inc],state,updates=[(state,state+inc)]),,
s = 1
/ (1 +T.exp(-x))
logistic = function([x],s)
shared,不是很明白。以后慢慢看吧。感觉shared的功能用2个变量都就可以做到嘛。
这话有启发 in Theano you first express everything symbolically and afterwards compile this expression to get functions。
theano中有很多op,操作的对象不是传统意义的程序变量,而是符号变量。更接近数学中的变量。
比如grad(y,x)就是对y求x的导数。x可以是一个标量,向量,矩阵等。y也随之调整。
在theano中做循环,需要用scan函数。这里主要是用scan计算雅克比矩阵和hessian矩阵。
关于这两个矩阵,下面这个解释很简单易懂
Hessian 矩阵是一个多元实函数的二阶导数:
设 ,二阶导数构成Hessian矩阵。
在优化分析中常用到。
Jacobi矩阵是一个多元矢量函数的一阶导数:
如,相应矩阵元素为。
Rop,Lop,dot
记了些问题。
numpy.asarray 和numpy.array的区别?
无法使用pp函数?--在theano中有这个函数
0维数组,如何转化成标量?
什么是随机变量?
符号变量,随机变量,共享变量,搞这么多啥用?