码迷,mamicode.com
首页 > 其他好文 > 详细

Theano入门CNN(一)

时间:2016-08-14 14:23:50      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:

     Theano是一个Python库,专门用于定义、优化、求值数学表达式,效率高,适用于多维数组。特别适合做机器学习。一般来说,使用时需要安装python和numpy.

     首先回顾一下机器学习的东西,定义一个模型(函数)f(x;w) x为输入,w为模型参数,然后定义一个损失函数c(f),通过数据驱动在一堆模型函数中选择最优的函数就是训练training的过程,在机器学习中训练一般采用梯度下降法gradient descent.

     使用theano来搭建机器学习(深度学习)框架,有以下优点:

     1、 theano能够自动计算梯度

     2、只需要两步骤就能搭建框架,定义函数和计算梯度。

一、 定义函数

步骤 0    宣告使用theano   import theano
步骤 1 定义输入 x=theano.tensor.scalar()
步骤 2 定义输出 y=2*x
步骤3 定义fuction f = theano.function([x],y)
步骤 4 调用函数 print f(-2)

步骤1 定义输入变量 

      a = theano.tensor.scalar()

      b =theano.tensor.matrix()

简化  import  theano.tensor as T

步骤2 定义输出变量 需要和输入变量的关系

     x1=T.matrix()

     x2=T.matrix()

     y1=x1*x2

     y2=T.dot(x1,x2) #矩阵乘法

步骤3 申明函数

     f= theano.function([x],y)

    函数输入必须是list 带[]

example:

 1 import theano
 2 import theano.tensor as T
 3 
 4 a= T.matrix()
 5 b= T.matrix()
 6 c = a*b
 7 d = T.dot(a,b)
 8 F1= theano.function([a,b],c)
 9 F2= theano.function([a,b],d)
A=[[1,2],[3,4]] 10 B=[[2,4],[6,8]] #2*2矩阵 11 C=[[1,2],[3,4],[5,6]] #3*2矩阵 12 print F1(A,B) 13 print F2(C,B)

二、计算梯度

   计算 dy/dx g=T.grad(y,x)

 

Theano入门CNN(一)

标签:

原文地址:http://www.cnblogs.com/love6tao/p/5770022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!