1. 程式人生 > >theano學習之function用法

theano學習之function用法

heano 當中的 function 就和 python 中的 function 類似, 不過因為要被用在多程序並行運算中,所以他的 function 有他自己的一套使用方式。

 

import  numpy as np
import  theano.tensor as T
import theano

#-----------使用激勵函式---------------#
x = T.dmatrix('x')#定義矩陣容器x
s = 1/(1+T.exp(-x))#邏輯迴歸的激勵函式

logistic = theano.function([x],s)#定義邏輯迴歸函式
print(logistic([[0,1],[-2,-3]]))

#------------多輸入/輸出的function------#
a,b = T.dmatrices('a','b')#因為多輸入輸出,所以是dmatrices
diff = a-b#差值
abs_diff = abs(diff)#絕對值
diff_squared = diff**2#平方

f = theano.function([a,b],[diff,abs_diff,diff_squared])#定義函式
x1,x2,x3 = f(np.ones((2,2)),np.arange(4).reshape(2,2))#呼叫自己定義的函式

print(x1,x2,x3)

#--------function引數的名字------------------#

x,y,w = T.dscalars('x','y','z')#定義三個容器
z = (x+y)*w

f = theano.function([x,
                     theano.In(y, value=1),
                     theano.In(w,value=2)],
                    z)
print(f(23))#使用預設
print(f(23,1,4))#不使用預設

#-------------function引數名字---------#
f = theano.function([x,
                     theano.In(y, value=1),
                     theano.In(w,value=2,name='weights')],
                    z)
print (f(23,1,weights=4)) ##呼叫方式



結果:

來源