2017-05-26 62 views
0

CODE:Theano張類型:Python的

x=T.dscalar('x') 
y=T.dscalar('y') 
z=T.dscalar('z') 
z=x+y 
f= function([x,y],z) 

一旦運行:

$ T.dscalar

TensorType(float64,標量)

$ x.type

TensorType(float64,scalar)

$ z.type

TensorType(float64,標量)

$ x.type是T.dscalar

真< < < < < < < ---------- ---------------------(1)

$ z.type是T.dscalar

假<(2)

爲什麼不是(1) )&(2)相同?

回答

0

z = T.dscalar('z')是毫無意義的,因爲它不是圖形輸入。當你做z=x+y時,它會被丟棄。 z的類型對象是在Op的make_node方法中構造的,而不是僅使用T.dscalar

最後,Python的is操作者比較兩個對象是否是相同而非等於。如果你檢查z.type == T.dscalar它將是True