Theano是python的一个开源库,其解决大量数据问题时性能更好。
首先,给一个关于theano.function的demo:
1 import theano
2 from theano
import tensor as T
3 from theano
import shared
4 from theano
import function
5
6 x = T.iscalar(
'x')
# x 为自变量,开头的 i 表示类型,如果开头为'd'则为 double
7 y, z = T.iscalars(
'y',
'z')
# 当声明多个字变量时,最后要加's'
8 '''
9 scalar 标量
10 vector 向量
11 matrix 矩阵
12 row 行
13 col 列
14 '''
15
16 w = shared(0)
# w 为共享变量,其值可以修改
17 m = x + y + z
# m 为因变量,由 x+y+z 得到
18
19 f = function([x, y, z], m, updates=[(w, w +
m)])
20 '''典型的theano.function函数
21 function([自变量],因变量,updates=[])
22 其中[x,y,z]代表function的自变量,通常以列表形式出现
23 m为因变量,也是输出outputs
24 updates指数据更新,源数据为w,改变之后变为w+m
25 '''
26 print(f(1, 2, 3
))
27
28 print(w.get_value())
Theano中的条件判断:
Theano是一种符号语言,他的条件判断与Python语句中的不同
总共有两种形式,一种为switch(condition,iff,ift),当condition满足时,既执行iff,也执行ift
另一种为if condition then iff else ift,即一个条件判断,为真则执行iff,否则执行ift
用Theano实现求导数:
1 import theano
2 from theano
import tensor
3
4 x=theano.tensor.dscalar(
'x')
5 y=1/(1+theano.tensor.exp(-
x))
6 dx=theano.grad(y,x)
#偏导数函数
7 f=theano.function([x],dx)
#输入为 x ,输出为 y 在 x 处的偏导数
8 print(f(3))
转载于:https://www.cnblogs.com/Rebel3/p/11487723.html